Get-ADUser não exibe todas as propriedades

Os cmdlets do Active Directory da Microsoft têm alguns problemas. Um dos que captura todos quando eles começam a usá-los é que o Get-ADUser não exibe todas as propriedades.

Uma chamada padrão para Get-ADUser exibe um subconjunto das propriedades disponíveis do objeto de usuário:

  DistinguishedName: CN = FOX Fred, OU = UserAccounts, DC = Manticore, DC = org
 Habilitado: Verdadeiro
 Nome dado        :
 Nome: FOX Fred
 ObjectClass: usuário
 ObjectGUID: db5a3975-980d-4749-b9c0-48aff9217b2a
 SamAccountName: foxfred
 SID: S-1-5-21-759617655-3516038109-1479587680-1314
 Sobrenome:
 UserPrincipalName: FredFox@manticore.org

Mesmo que as propriedades estejam vazias – como Givenname e Sobrenome – o nome da propriedade é exibido. Então, como você obtém as propriedades que não fazem parte da lista padrão?

Existe a abordagem da força bruta:

 PS> Get-ADUser -Identity foxfred -Properties * AccountExpirationDate: accountExpires: 9223372036854775807 AccountLockoutTime: AccountNotDelegated: False AllowReversiblePasswordEncryption: False AuthenticationPolicy: {} AuthenticationPolicySilo: {} BadLogonCount: 0 badPasswordTime: 0 badPwdCount: 0 CannotChangePassword: False CanonicalName: Manticore.org/ UserAccounts / FOX Fred Certificados: {} Cidade: CN: FOX Fred códigoPágina: 0 Empresa: CompoundIdentitySupported: {} País: countryCódigo: 0 Criado: 17/11/2016 14:07:13 createTimeStamp  : 17/11/2016 14:07:13 Excluído: Departamento: Descrição: DisplayName: DistinguishedName: CN = FOX Fred, OU = UserAccounts, DC = Manticore, DC = org Divisão: DoesNotRequirePreAuth: False dSCorePropagationData: {01/01/1601 00:00:00} EmailAddress: EmployeeID: EmployeeNumber: Habilitado: True Fax: GivenName: HomeDirectory: HomedirRequired: False HomeDrive: HomePage: HomePhone: Iniciais: instanceType: 4 isDeleted: KerberosEncryptionType: {} LastBa  DPasswordAttempt: LastKnownParent: lastLogoff: 0 lastLogon: 0 LastLogonDate: LockedOut: Falso logonCount: 0 LogonWorkstations: Manager: MemberOf: {} MNSLogonAccount: False MobilePhone: Modificado: 18/11/2016 11:03:02 modifyTimeStamp: 18/11/2016 11:03:02 msDS-User-Account-Control-Computed: 8388608 Nome: FOX Fred nTSecurityDescriptor: System.DirectoryServices.ActiveDirectorySecurity ObjectCategory: CN = Person, CN = Schema, CN = Configuração, DC = Manticore, DC = org ObjectClass: Usuário ObjectGUID: db5a3975-980d-4749-b9c0-48aff9217b2a objectSid  : S-1-5-21-759617655-3516038109-1479587680-1314 Office: OfficePhone: Organization: OtherName: PasswordExpired: True PasswordLastSet: 17/11/2016 14:07:13 PasswordNeverExpires: False PasswordNotRequired: Falso POBox: PostalCode: PrimaryGroup : CN = Usuários do domínio, CN = Usuários, DC = Manticore, DC = org primaryGroupID: 513 PrincipalsAllowedToDelegateToAccount: {} ProfilePath: ProtectedFromAccidentalDeletion: Falso pwdLastSet: 131238652330182673 SamAccountName: foxfred sAMAccountType: 805306368 ScriptPath: sDRightsEffective: 15 ServicePrincipalNames: {}  SID: S-1-5-21-759617655-3516038109-1479587680-1314 SIDHistory: {} SmartcardLogonRequired: False State: StreetAddress: Sobrenome: Título: TrustedForDelegation: False TrustedToAuthForDelegation: False UseDESKeyOnly: Falso userAccountControl: 512 userCertificate: {} UserPrincipalName: FredFox@manticore.org uSNChanged: 78123 uSNCreated: 62259 whenChanged: 18/11/2016 11:03:02 whenCreated: 17/11/2016 14:07:13

Usando -properties * retorna TODAS as propriedades de um usuário. Isso está OK se você estiver olhando para um, ou alguns usuários, mas se torna uma operação muito cara se você estiver olhando milhares de objetos de usuário.

Uma abordagem mais elegante é especificar as propriedades desejadas:

  PS> Get-ADUser -Identity foxfred -Properties EmailAddress, LockedOut, ProtectedFromAccidentalDeletion, WhenCreated


 DistinguishedName: CN = FOX Fred, OU = UserAccounts, DC = Manticore, DC = org
 Endereço de e-mail                   :
 Habilitado: Verdadeiro
 Nome dado                      :
 LockedOut: False
 Nome: FOX Fred
 ObjectClass: usuário
 ObjectGUID: db5a3975-980d-4749-b9c0-48aff9217b2a
 ProtectedFromAccidentalDeletion: False
 SamAccountName: foxfred
 SID: S-1-5-21-759617655-3516038109-1479587680-1314
 Sobrenome:
 UserPrincipalName: FredFox@manticore.org
 WhenCreated: 17/11/2016 14:07:13

Você obtém as propriedades que você especificou e as propriedades padrão.

Então, enquanto o Get-ADUser não exibe todas as propriedades, você pode superar isso usando o parâmetro -properties com um * para todas as propriedades ou uma lista das propriedades que deseja, além dos padrões.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s