将变量导出到 .csv 文件

Exporting a variable to a .csv file

我使用 PowerShell 从 AD 中提取了一个部门列表:

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

在这个操作结束时,如果我在控制台上输入$departments,我就得到了我想要的所有部门名称。但是,如果我尝试使用

将其导出到 .csv 文件
| Export-Csv H:\TEST\DEPTAAAAA.csv

我明白了

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

如何导出存储在 $departments 中的部门名称,以便输出为包含部门名称的 .csv 文件?

Export-Csv cmdlet 将输入对象的属性导出为输出 CSV 的字段。由于您的输入是字符串对象列表,因此输出是这些对象的 属性 (Length)。

如果要通过 Export-Csv 导出 属性 Department,请不要展开它:

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

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

或者如果要将字符串列表写入输出文件,请使用 Out-File 而不是 Export-Csv

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

$departments | Out-File 'H:\TEST\DEPTAAAAA.csv'