You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell Get-ADUser搭配Select-Object语法错误求助

问题分析与修正

错误原因

你遇到的Select-Object : Missing an argument for parameter 'Property'错误,是因为**-Property参数后直接换行,PowerShell无法识别后续的哈希表数组作为参数值**;同时原代码未指定Get-ADUser需要额外返回的属性,导致部分字段会获取不到数据。

修正后的代码

$userDataRows = Get-ADUser -LDAPFilter '(&(objectClass=User)(objectCategory=Person))' `
    -Properties cn, name, givenName, initials, sn, extensionAttribute6, extensionAttribute2, streetaddress, l, st, physicalDeliveryOfficeName, co, c, postalCode, telephoneNumber |
    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}}

关键修正点

  • 参数语法调整:将第一个哈希表紧跟在-Property后,后续哈希表用逗号分隔换行,让PowerShell识别整个哈希表数组是-Property的参数值;也可以用括号把所有哈希表括起来,比如-Property (@{...}, @{...})。
  • 指定AD属性:添加-Properties参数,列出所有需要提取的AD属性名——因为Get-ADUser默认只返回有限的核心属性,像extensionAttribute*、streetaddress这类扩展/非核心属性必须明确指定才能获取到数据。

内容的提问来源于stack exchange,提问作者Jeff Vanderdoes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 04:41:04