2014-05-01 13:09:26 +0000 2014-05-01 13:09:26 +0000
12
12

Encontrar utilizadores AD com atributo AD específico NÃO nulo

Estou à procura de um comando script/Powershell que listará todos os utilizadores AD que têm um valor não NULL no atributo teletexterminalidentifier, pelo que devem ter um valor definido.

Por defeito este atributo não está definido mas temos uma aplicação que modifica este atributo (para conter uma string hexadecimal), por isso estou à procura de uma lista de todos os utilizadores que têm este atributo definido para algo.

Obrigado!

Respostas (3)

10
10
10
2014-05-01 13:32:26 +0000

Deve ser possível obter os utilizadores através da utilização:

Get-ADUser -Filter 'teletexterminalidentifier -like "*"'

Pode então filtrar o que precisa, canalizando o comando:

Get-ADUser -Filter 'teletexterminalidentifier -like "*"' | Select-Object name,teletexterminalidentifier | Export-Csv file.csv

Onde Select-Object permite-lhe seleccionar de que campos quer obter a informação por nome.

4
4
4
2014-05-01 13:23:46 +0000

Penso que o que procura é a cmdlet Where-Object. Aqui está um pseudo-código para o ajudar:

Get-ADUser -Filter * | Where-Object {$_.teletexterminalidentifier -ne $null} | Export-Csv c:\list.csv
1
1
1
2014-05-02 09:33:04 +0000

Se quiser filtrar utilizadores com base nesta propriedade, tem de adicionar o -properties switch ao Get-ADuser Cmdlet. De facto, sem esta mudança, carrega apenas propriedades básicas (membros) para objectos do utilizador.

Assim, aqui está o comando completo para conseguir o que deseja :

Get-ADUser -filter * -Properties * | ? {$_.teletexterminalidentifier -ne $null} | Select-Object CN,SamAccountName,Teletexterminalidentifier

Produzirá este tipo de resultado :

Então, poderá exportar o resultado para o formato desejado.

Espero que isto ajude !