我最近开始使用power shell,刚刚在一个月的午餐书中阅读了学习PowerShell。
我正在使用Get-AdUser
cmdlet,我对所有AD用户属性感到困惑。例如:
Get-ADUser -filter {name -like "ryan*"} | Format-Table *
我的理解是| Format-Table *
或| get-member
应该返回对象的所有属性。但是我遇到了这个命令:
Get-ADUser -filter {name -like "ryan*"} –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed"
这会为对象添加DisplayName
和msDS-UserPasswordExpiryTimeComputed
属性。
我的问题是为什么get-member
下列出了这些属性?有没有办法可以查看get-aduser
的所有属性?
答案 0 :(得分:0)
[W] hy并未在get-member下列出这些属性?
Get-Member
将显示所请求对象的所有成员,属性等。它正是你所要求的 1 。
Get-Aduser
具有从AD获取的默认属性集,例如DisplayName,samaccountname等。如果您想要更多,那么您需要更多。来自TechNet for Get-Aduser
<强>属性强>
指定要从服务器检索的输出对象的属性。 使用此参数可以检索未包含在默认设置中的属性。
以逗号分隔的名称列表指定此参数的属性。 要显示在对象上设置的所有属性,请指定*(星号)。
因此,如果您使用-Properties *
,您将获得所有AD对象属性。理解-Properties *
虽然简单易用,但在查询非索引属性时却是一种性能损失。如果可以,请将您的选择集减少到您实际需要的那些。
1。 -Force
暴露了PowerShell对象的一些隐藏属性,但这不是您要问的。