Я сравниваю пользователей между двумя доменами, чтобы убедиться, что пользователи, отключенные в одном, отключены в другом, выполняя следующие два шага:
Домен 1:
Get-ADUser -SearchBase "OU=ou2,OU=ou1,DC=pre,DC=domain1,DC=com" -Filter * -Properties * | Select-Object Name | Export-Csv -encoding "utf8" Users.csv
Домен 2:
$input = import-csv -path "Users.csv"
ForEach ($User in $input) {
$result = get-aduser -SearchBase "OU=ou2,OU=ou1,DC=pre,DC=domain2,DC=com" -Filter "name -eq '$($User.Name)'" | Select-Object Enabled
If ($result -eq $null) { Write-host -ForegroundColor Yellow $User "Name not found. Please do a manual check"
}
elseif ($result -like '*False*')
{
Write-host -ForegroundColor Red "**" $User "** must be disabled!"
}
else {get-aduser -SearchBase "ou=Users,ou=SCS,ou=All,dc=osit,dc=ad" -Filter "name -eq '$($User.Name)'" -Properties * | Select-Object Name, Enabled}
}
Это работает, но дает мне следующий вывод:
Name Enabled
---- -------
Firstname1 Lastname1 True
@{Name=Firstname2 Lastname2} - Name not found. Please do a manual check
Как мне удалить "@ {Name =" и "}"?Я попытался добавить -ExtendProperity к $ result и заменить безуспешно.Я, вероятно, делаю это неправильно ..