Замена руководителя у пользователей Active Directory с одного на другого с помощью Powershell

Имеем:
Уволился начальник подразделения, он был руководителем(в active directory) у 50 пользователей.
Задача:
Сменить руководителя на другого с помощью Powershell.
Решение:

##### Замена руководителя у пользователей с одного на другого #####
Import-module Activedirectory
##### Бывший руководитель #####
$OldManager= read-host "Enter Old Manager SamAccountName"
##### Новый руководитель #####
$NewManager= read-host "Enter New Manager SamAccountName"

get-aduser -Filter {manager -eq $OldManager} -Properties Manager | select -ExpandProperty samaccountname | foreach { set-aduser -Identity $_ -manager $NewManager } 
##### Удаляем руководителя у нового руководителя(самого себя) #####
set-aduser -Identity $NewManager -manager $null

One Reply to “Замена руководителя у пользователей Active Directory с одного на другого с помощью Powershell”

  1. Не всегда надо удалять руководителя у нового руководителя. Это надо делать лишь в том случае, если там указан старый руководитель, поэтому предлагаю добавить эту проверку в скрипт:
    ##### Замена руководителя у пользователей с одного на другого #####
    Import-module Activedirectory
    ##### Бывший руководитель #####
    $OldManager= read-host «Enter Old Manager login (SamAccountName)»
    ##### Новый руководитель #####
    $NewManager= read-host «Enter New Manager login (SamAccountName)»

    get-aduser -Filter {manager -eq $OldManager} -Properties Manager | select -ExpandProperty samaccountname | foreach { set-aduser -Identity $_ -manager $NewManager }
    ##### Удаляем руководителя у нового руководителя (самого себя) #####
    $Manager = get-aduser $NewManager -Properties Manager | select -ExpandProperty Manager | Get-ADUser | select -ExpandProperty SamAccountName
    if ($Manager -eq $OldManager)
    {
    set-aduser -Identity $NewManager -manager $null
    Write-Warning «Удален старый руководитель у нового руководителя»
    $NewTopManager = read-host «Enter New Top Manager login (SamAccountName)»
    set-aduser -Identity $NewManager -manager $NewTopManager
    }

Добавить комментарий

Ваш адрес email не будет опубликован.