lox-ness
06-09-2019, 06:27
Добрый День!
Возникла проблема с массовой заменой выводимого имени у пользователей.
Существует OU в котором есть общие учетные записи, необходимо по email общей учетной записи выгрузить displayName и присвоить его другому пользователю с таким же email.
Перепробовали все вся и встали в тупик, в лучшем случае в поле DisplayName добавляется сгруппированное выводимое имя из всех общих учетных записей. Ниже один из вариантов. Прошу помочь разобраться
$user = Get-ADUser -SearchBase $OU -Filter * -Properties Name, mail, Displayname, CanonicalName | Where-Object {$_.DistinguishedName -like "*Generic Account*"}
$DN = $user.displayname
$mail = $user.mail
Foreach ($mail1 in $mail) {
$u = Get-ADUser -SearchBase $OU -Server -Filter {mail -eq $mail1} -Properties Name, mail, Displayname, CanonicalName, SamAccountName | Where-Object {$_.DistinguishedName -notlike "*Generic Account*"}
$email = $u.mail
$DN1 = $u.DisplayName
$sam = $u.SamAccountName
If ($email -eq $mail1) {
ForEach ($us in $sam) {Set-ADUser -Identity $us -DisplayName "$DN"}
}
}
Возникла проблема с массовой заменой выводимого имени у пользователей.
Существует OU в котором есть общие учетные записи, необходимо по email общей учетной записи выгрузить displayName и присвоить его другому пользователю с таким же email.
Перепробовали все вся и встали в тупик, в лучшем случае в поле DisplayName добавляется сгруппированное выводимое имя из всех общих учетных записей. Ниже один из вариантов. Прошу помочь разобраться
$user = Get-ADUser -SearchBase $OU -Filter * -Properties Name, mail, Displayname, CanonicalName | Where-Object {$_.DistinguishedName -like "*Generic Account*"}
$DN = $user.displayname
$mail = $user.mail
Foreach ($mail1 in $mail) {
$u = Get-ADUser -SearchBase $OU -Server -Filter {mail -eq $mail1} -Properties Name, mail, Displayname, CanonicalName, SamAccountName | Where-Object {$_.DistinguishedName -notlike "*Generic Account*"}
$email = $u.mail
$DN1 = $u.DisplayName
$sam = $u.SamAccountName
If ($email -eq $mail1) {
ForEach ($us in $sam) {Set-ADUser -Identity $us -DisplayName "$DN"}
}
}