Powershell (Get-ADUser -identity).someproperty não mostrando resultado

Powershell (Get-ADUser -identity).someproperty não mostrando resultado

Estou tentando procurar propriedades individuais de um usuário AD, quando executo

(Get-ADUser $userName).$targetProperty

Não ganho nada quando corro

Get-ADUser $userName | select $targetProperty

Recebo a propriedade e um espaço em branco embaixo. MAS quando eu corro.

Get-ADUser $user -Properties * 

Recebo a lista completa e quando olho para $ targetProperty, já existe um valor. Meu ambiente é 1 DC, é local e estou no modo Admin.

Responder1

Depende da propriedade alvo que você está tentando obter. Se não for uma das propriedades do conjunto padrão (aquelas que você obtém ao executar Get-ADUser testuser), ela não estará no conjunto de resultados, portanto, você não poderá acessá-la em outro lugar do seu comando.

Aqui estão as propriedades padrão.

DistinguishedName : CN=Test User,CN=Users,DC=domain,DC=local
Enabled           : True
GivenName         : Test
Name              : Test User
ObjectClass       : user
ObjectGUID        : 94916bd1-008e-409f-a1b3-eaXXXXXX266e
SamAccountName    : TestUser
SID               : S-1-5-21-23XXXXXX88-41XXXXX83-1941XXXX34-32584
Surname           : User
UserPrincipalName : [email protected]

Digamos que a propriedade que você deseja seja Title. Então seu primeiro comando é este:

(Get-ADUser testuser).Title

Titlenão está no conjunto padrão de propriedades, portanto a parte entre parênteses não inclui uma Titlepropriedade, portanto o resultado do comando combinado é nada.

Segunda tentativa:

Get-ADUser testuser | select Title

Isso fornece a palavra "Título" como cabeçalho da coluna, mas ainda não há valor para ela, porque a primeira parte do comando ainda não inclui uma Titlepropriedade nos resultados.

Terceira tentativa:

Get-ADUser testuser -Properties * 

Ah! Isso está chegando perto. Inclui a Titlepropriedade, junto com um monte de outras com as quais você não se importa agora.

Quarta tentativa:

(Get-ADUser testuser -Properties *).title

É isso! Essa combinação obtém todas as propriedades do usuário (incluindo Title) e mostra apenas a Titlepropriedade.

Opcional:Você pode tornar isso um pouco mais rápido, não se preocupando em solicitar as mais de 100 propriedades fornecidas -Properties *e obter apenas as propriedades padrão plus Title, com isto:

(Get-ADUser testuser -Properties Title).Title

Responder2

Descobri que o seguinte me permite obter as informações, mas por que não estava funcionando com meus outros comandos?

(Get-ADUser $user -Properties *).$targetProperty

informação relacionada