Войти

Показать полную графическую версию : [решено] Выводимое имя


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"}
}
}

lox-ness
06-09-2019, 09:03
Разобрались получилось следующее
$users = Get-ADUser -SearchBase $OU -Filter * -Properties Name, mail, Displayname, CanonicalName | Where-Object {$_.DistinguishedName -like "*Generic Account*"}
Foreach ($user in $users)
{
$mail = $user.mail
$DN = $user.displayname
Get-ADUser -SearchBase $OU -Filter {mail -eq $mail} -Properties Name, mail, Displayname, CanonicalName | Where-Object {$_.DistinguishedName -notlike "*Generic Account*"} |
Foreach { Set-ADUser $_ -Displayname "$dn"}

Единственное не совсем поняли что включает в себя "$_" так как без него запрашивает Identity, предположение есть конечно, что в него входят какие-то обязательные атрибуты

YuS_2
06-09-2019, 13:35
что включает в себя "$_" »
man about_Automatic_Variables -s

lox-ness
09-09-2019, 12:23
спасибо




© OSzone.net 2001-2012