转换多值属性序列号

Converting a multivalued attribute serialnumber

我想从 AD 中提取 LastLogonDate、SerialNumber、Name 和 Description。我一切正常,除了当我打开 csv 而不是序列号时给我: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...:[=​​13=]

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

这个答案可能会让你觉得有点傻,但不要觉得不好,你的表达中少了一个 ; 应该是

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

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