Назад | Перейти на главную страницу

Как я могу добавить информацию о домене пользователя в конвейер в PowerShell при использовании Get-ADUser?

Я пытаюсь перечислить имя, samaccountname и домен, к которому принадлежит каждый пользователь в моем лесу, и записать его в текстовый файл.

Скрипт, который у меня есть сейчас:

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

}

Мне также нужно значение $ d в конце каждой строки, чтобы результат выглядел как

name          samaccountname        domain
----          --------------        ------
Marra,Mark    mdmarra               root.org

Этого легко добиться с помощью хэш-таблиц в 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

}