问题
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?
回答1:
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'
来源:https://stackoverflow.com/questions/32459269/exporting-a-variable-to-a-csv-file