转换多值属性serialnumber

时间:2015-07-30 16:44:41

标签: powershell multivalue

我希望从AD中提取LastLogonDate,SerialNumber,Name和Description。我有一切工作,除非我打开csv而不是serialnumber给我:Microsoft.AdctiveDirectory.Management.ADPropertyValueCollection。从我看来,这是因为它是一个多值属性。我认为可以解决这个问题的代码是:

 Get-ADDomainController -filter * | 
% { Get-ADComputer -Filter * -server $_.name -Properties Name,Description,serialNumber,LastLogonDate -SearchBase "DC=DELETED,DC=com" } | 
Select Name,Description,@{N='serialNumber'E={$_.serialNumber[0]}},LastLogonDate |
Export-Csv "C:\scripts\ComputerLastLogon.csv" -NoTypeInformation

但是,现在我收到了这些错误:http://i.imgur.com/0BdC153.png

如果它有帮助,这是我第一次使用csv来显示Microsoft.ActiveDirectory时使用的代码...:

Get-ADDomainController -filter * | 
% { Get-ADComputer -Filter * -server $_.name -Properties Name,Description,serialNumber,LastLogonDate -SearchBase "DC=DELETED,DC=com" } | 
Select Name,Description,SerialNumber,LastLogonDate |
Export-Csv "C:\scripts\ComputerLastLogon.csv" -NoTypeInformation

1 个答案:

答案 0 :(得分:1)

答案可能会让你觉得有点傻但不会感觉不好,你在表达中错过了;

@{N='serialNumber';E={$_.serialNumber[0]}}

尝试并告诉我它是否有效,它对我有用。