powershell get-aduser 语法

问题描述 投票:0回答:1

我一直在使用 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 中提取多个数据字段。 当我尝试重命名时,我似乎偏离了轨道。 我搜索过似乎无法弄清楚我做错了什么。 有什么想法吗? 预先感谢!

杰夫

powershell active-directory
1个回答
0
投票

删除

-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'}}
© www.soinside.com 2019 - 2024. All rights reserved.