Como posso adicionar as informações de domínio de um usuário ao pipeline no PowerShell ao usar Get-ADUser?

3

Estou tentando enumerar o nome, o samaccountname e o domínio aos quais cada usuário da minha floresta pertence e gravá-lo em um arquivo de texto.

O script que eu tenho agora é:

Import-Module ActiveDirectory

$domains = "root.org", "child1.root.org", "child2.root.org"


ForEach ($d in $domains){

Get-ADUser -Filter * -ResultSetSize $null -Server $d -Properties name, samaccountname |
Select-Object name, samaccountname | out-file c:\users\mdmarra\desktop\users.txt -append

}

O que eu preciso é o valor de $ d no final de cada linha, para que a saída pareça

name          samaccountname        domain
----          --------------        ------
Marra,Mark    mdmarra               root.org
    
por MDMarra 01.03.2013 / 15:30

1 resposta

7

Isso é algo que você pode conseguir facilmente com hashtables em Select-Object :

ForEach ($d in $domains){

Get-ADUser -Filter * -ResultSetSize $null -Server $d -Properties name, samaccountname |
Select-Object name, samaccountname, @{ Name = 'domain'; Expression = { $d }} | out-file c:\users\mdmarra\desktop\users.txt -append

}
    
por 01.03.2013 / 15:34