为何PowerShell查询AD用户部门信息需指定-Properties department?
为什么必须指定
-Properties department参数才能获取AD用户部门信息? 这是因为Active Directory的PowerShell cmdlet(比如Get-ADUser、Get-ADObject)默认只会返回预设的常用属性集合,这类属性属于AD的"默认属性集"——像GivenName、Surname这类基础用户信息就在这个集合里,所以不用额外指定就能拿到。
但department(部门)属性不在默认返回的集合里。当你调用Get-ADObject时,如果不加-Properties department参数,cmdlet只会向AD服务器请求默认属性集的数据,根本不会去获取department属性的值,自然就返回不了部门信息。
明确加上-Properties department,本质就是告诉cmdlet:除了默认属性,还要额外把department这个属性的数据从AD服务器拉取回来,这样后续才能正常提取到部门信息。
优化建议:
你原来的命令嵌套了Get-ADObject,其实可以直接在Get-ADUser里指定-Properties department,效率更高:
Get-ADGroupMember XXXX-servicecenter | Get-ADUser -Properties department | Select GivenName,Surname, Department
或者用自定义列名的写法:
Get-ADGroupMember XXXX-servicecenter | Get-ADUser -Properties department | Select GivenName,Surname, @{Name="Dept";Expression={$_.department}}
内容的提问来源于stack exchange,提问作者louie
相关产品推荐
相关产品推荐

