我一直在使用 powershell 时遇到一些语法错误。 想知道是否有好心人可以解答我的问题。
$userDataRows = Get-ADUser -LDAPFilter '(&(objectClass=User)(objectCategory=Person))' | Select-Object -Property
@{N='AcctName';E={$_.'cn'}}
,@{N='Name';E={$_.'name'}}
,@{N='FirstName';E={$_.'givenName'}}
,@{N='Initial';E={$_.'initials'}}
,@{N='LastName';E={$_.'sn'}}
,@{N='MyID';E={$_.'extensionAttribute6'}}
,@{N='Badge';E={$_.'extensionAttribute2'}}
,@{N='Address';E={$_.'streetaddress'}}
,@{N='City';E={$_.'l'}}
,@{N='State';E={$_.'st'}}
,@{N='Office';E={$_.'physicalDeliveryOfficeName'}}
,@{N='Country';E={$_.'co'}}
,@{N='CountryID';E={$_.'c'}}
,@{N='PostCode';E={$_.'postalCode'}}
,@{N='Phone';E={$_.'telephoneNumber'}}
没有提取我需要的数据。 相反,我收到了错误:
Select-Object : Missing an argument for parameter 'Property'. Specify a parameter of type
'System.Object[]' and try again.
At line:1 char:65
我的一般问题是我希望从 AD 中提取多个数据字段。 当我尝试重命名时,我似乎偏离了轨道。 我搜索过似乎无法弄清楚我做错了什么。 有什么想法吗? 预先感谢!
杰夫
删除
-Property
和第一个参数标记之间的换行符,然后对于参数列表中的每个换行符,将 ,
向上移动到前一行 - 这将强制解析器继续解析下一行的语句:
$userDataRows = Get-ADUser -LDAPFilter '(&(objectClass=User)(objectCategory=Person))' |Select-Object -Property @{N='AcctName';E={$_.'cn'}},
@{N='Name';E={$_.'name'}},
@{N='FirstName';E={$_.'givenName'}},
@{N='Initial';E={$_.'initials'}},
@{N='LastName';E={$_.'sn'}},
@{N='MyID';E={$_.'extensionAttribute6'}},
@{N='Badge';E={$_.'extensionAttribute2'}},
@{N='Address';E={$_.'streetaddress'}},
@{N='City';E={$_.'l'}},
@{N='State';E={$_.'st'}},
@{N='Office';E={$_.'physicalDeliveryOfficeName'}},
@{N='Country';E={$_.'co'}},
@{N='CountryID';E={$_.'c'}},
@{N='PostCode';E={$_.'postalCode'}},
@{N='Phone';E={$_.'telephoneNumber'}}