Need to replace manager for multiple users in Active Directory (AD)
Solution
First we need to find what users have a giving manager.
This script will query AD for users with given manager SAM account name.
#
#   Get AD User's Manager
#
#
Param(
    [Parameter(Mandatory=$false,
        ValueFromPipeline=$true)]
        $FindManagerSamAccountName
    ,[Parameter(Mandatory=$false,
        ValueFromPipeline=$true)]
        $FindUserSamAccountName 
)
#Check if AD is installed
$ADUsersManagers = ""
    If (!(Get-Module ActiveDirectory)) {
        Import-Module ActiveDirectory
    }
$ADUserList =""
if ([string]::IsNullOrEmpty($FindUserSamAccountName)) {
    $ADUserList = Get-ADUser -Filter { Enabled -eq $true } -Properties Manager 
    } else {
    $ADUserList = Get-ADUser -Filter {SamAccountName -eq $FindUserSamAccountName } -Properties Manager                 
    }
$ADUsersManagers = $ADUserList|Select-Object Name,SamAccountName,@{n='ManagerSamAccountName';e={(Get-aduser $_.Manager).SamAccountName}} 
   if (![string]::IsNullOrEmpty($FindManagerSamAccountName)) {
        $ADUsersManagers |Where-Object {($_.ManagerSamAccountName -eq $FindManagerSamAccountName)}
        } else {
            $ADUsersManagers}
No comments:
Post a Comment