1

需要在以下属性上使用过滤器获取所有广告用户,然后导出到 csv:

Get-ADUser -filter *  -Properties sn, givenname, samaccountname, employeenumber, employeeID,departmentnumber

在这种情况下,还包括所有默认属性。所以我尝试了这个:

Get-ADUser -filter *  -Properties sn, givenname, samaccountname, employeenumber, employeeID,departmentnumber | select sn, givenname, samaccountname, employeenumber, employeeID,departmentnumber

美好的。这就是我要的。现在的问题。当我使用 export-csv 选项运行它时,departmentnumber 列中出现错误。

Get-ADUser -filter *  -Properties sn, givenname, samaccountname, employeenumber, employeeID,departmentnumber | select sn, givenname, samaccountname, employeenumber, employeeID,departmentnumber | Export-Csv filexyz.csv

因为这是多值属性,它在 csv 文件中看起来像这样:(我删除了所有用户特定的数据)

"sn","givenname","samaccountname","employeenumber","employeeID","departmentnumber", "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection"

在 CLI Powershell 中,它看起来像这样:(我删除了所有用户特定的数据)

sn:给定名称:samaccountname:员工编号:员工ID: 部门编号:{ONR1200402}

知道如何解决将多值属性导出到 csv 的问题吗?谢谢你的帮助。

4

1 回答 1

2

由于您的departmentnumber属性是一种collection类型,您可以尝试-join通过属性表达式功能将所有值一起准备数据到Export-CSV.

像这样:

Get-ADUser -filter *  -Properties sn, givenname, samaccountname, employeenumber, employeeID,departmentnumber | 
    Select-Object sn, givenname, samaccountname, employeenumber, employeeID,@{Name ='departmentnumber';Expression ={$_.departmentnumber -join ';'}} | 
        Export-Csv filexyz.csv

请注意,我;在示例中使用分号 ( ) 来连接部门编号集合中的值。

于 2019-08-02T08:41:21.323 回答