Exporting a variable to a .csv file
Asked Answered
A

1

5

I extract a list of departments from AD like this using PowerShell:

$departments = Get-ADUser -Filter * -Property Department |
               Where-Object { $_.Department } |
               Select -Expand Department -Unique

At the end of this operation, if I input on the console $departments I get all the names of the departments as I wished. But if I try to export this to a .csv file using

| Export-Csv H:\TEST\DEPTAAAAA.csv

I get this

#TYPE System.String
Length
4
9
5
13
13
13

How can I export the department names stored in the $departments so the output is a .csv file containing the department names?

Atalee answered 8/9, 2015 at 13:34 Comment(0)
G
8

The Export-Csv cmdlet exports the properties of the input objects as the fields of the output CSV. Since your input is a list of string objects the output is the property (Length) of these objects.

Don't expand the property Department if you want to export it via Export-Csv:

$departments = Get-ADUser -Filter * -Property Department |
               Where-Object { $_.Department } |
               Select Department -Unique

$departments | Export-Csv 'H:\TEST\DEPTAAAAA.csv'

or use Out-File instead of Export-Csv if you want to write the list of strings to the output file:

$departments = Get-ADUser -Filter * -Property Department |
               Where-Object { $_.Department } |
               Select -Expand Department -Unique

$departments | Out-File 'H:\TEST\DEPTAAAAA.csv'
Gamekeeper answered 8/9, 2015 at 13:41 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.