get-member怎么没有显示所有可用的成员?例如。
PS > get-aduser john.doe | get-member -MemberType All -View All
TypeName: Microsoft.ActiveDirectory.Management.ADUser
Name MemberType Definition
---- ---------- ----------
Contains Method bool Contains(string propertyName)
Equals Method bool Equals(System.Object obj)
GetEnumerator Method System.Collections.IDictionaryEnumerator GetEnumerator()
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Item ParameterizedProperty Microsoft.ActiveDirectory.Management.ADPropertyValueCollection Item(string p...
DistinguishedName Property System.String DistinguishedName {get;set;}
Enabled Property System.Boolean Enabled {get;set;}
GivenName Property System.String GivenName {get;set;}
Name Property System.String Name {get;}
ObjectClass Property System.String ObjectClass {get;set;}
ObjectGUID Property System.Nullable`1[[System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, ...
SamAccountName Property System.String SamAccountName {get;set;}
SID Property System.Security.Principal.SecurityIdentifier SID {get;set;}
Surname Property System.String Surname {get;set;}
UserPrincipalName Property System.String UserPrincipalName {get;set;}
PS > get-aduser john.doe -Properties ScriptPath
DistinguishedName : [...],DC=ad,DC=nutex,DC=com
Enabled : True
GivenName : John
Name : john.doe
ObjectClass : user
ObjectGUID : [...]
SamAccountName : john.doe
ScriptPath : LogonScript.vbs
SID : [...]
Surname : Doe
UserPrincipalName : john.doe@nutex.com
如您所见,属性ScriptPath未列为成员。但是有信息......我在这里缺少什么?提前致谢。
答案 0 :(得分:2)
每个PowerShell Active Directory模块cmdlet(如Get-ADUser和Get-ADComputer)都会为检索到的所有对象显示一组默认属性。您可以使用-Properties参数指定其他属性,但始终会包含默认设置。可以指定另一组扩展属性。此外,通过在-Properties参数中指定属性的LDAPDisplayName,可以包含适用于对象类的任何Active Directory属性
您可以在technet中找到更多详细信息:Active Directory: Get-ADUser Default and Extended Properties
如果您的问题是如何知道用户(来自用户类的对象)可以拥有的所有属性,我认为 Active-Directory Schema 包含此信息。要显示可以在您可以使用的对象上进行检索的所有属性:
get-aduser john.doe -Properties *