Я пытаюсь перечислить имя, 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
}