Zum Inhalt springen
IT Explorations

AD-Gruppen umbenennen - Powershell-Skript

· 1 min Lesezeit · von

Kurz & knapp: Das PowerShell-Skript sucht im Active Directory alle Gruppen nach einem Namensmuster (z. B. Endung -ABC) und ersetzt bei den Treffern Name, CN und SamAccountName in einem Durchlauf (Set-ADGroup + Rename-ADObject). Voraussetzung: ActiveDirectory-Modul (RSAT).

Skript Erklärung#

Das Skript sucht im Active Directory nach vorhandenen Gruppen mit der Bezeichnung "-ABC" im Gruppennamen und ersetzt bei allen zutreffenden Gruppen den Name, CN und SamAccountName durch den neuen Gruppennamen.

Beispiel#

#
#
# Autor: Jan Weis
# Funktion: Umbenennen von AD-Gruppen
#
#

Write-Host 'Gruppen werden erfasst...' -NoNewline
$Gruppen = Get-ADGroup -Filter {Name -like '*-ABC'}
Write-Host '[OK]' -ForegroundColor Green

foreach ($obj in $Gruppen)
{
    try
    {
        $Name = (($obj).Name).Replace('ABC','XYZ')
        Set-ADGroup -Identity $obj -SamAccountName $Name 
        Rename-ADObject -Identity $obj -NewName $Name 
        Write-Host "[+] $($obj.Name) wurde erfolgreich in $Name umbenannt." -ForegroundColor Green
    }
    catch
    {
        Write-Host "[ERR] $($obj.Name) wurde nicht umbenannt.`n$_" -ForegroundColor Red
    }
}

Kategorien: Active Directory Skripte

Tags: PowerShell

Verwandte Beiträge

2 Kommentare

Friedhelm Rocker

So funktioniert es Super...;-) Write-Host 'Gruppen werden erfasst...' -NoNewline Get-ADGroup -Filter * -SearchBase "OU=Groups,OU=Staging,DC=YourDomain,DC=local" | Select Name, DistinguishedName | Export-csv -path c:\migration\Haushalt\group.csv -NoTypeInformation $csv = Import-Csv -Path c:\migration\Haushalt\group.csv Write-Host '[OK]' -ForegroundColor Green foreach ($group in $csv) { try { $Name = (($group).Name).Replace('ABC','DEF') Set-ADGroup -Identity $group.DistinguishedName -SamAccountName $Name Rename-ADObject -Identity $group.DistinguishedName -NewName $Name Write-Host "[+] $($group.Name) wurde erfolgreich in $Name umbenannt." -ForegroundColor Green } catch { Write-Host "[ERR] $($group.Name) wurde nicht umbenannt.`n$_" -ForegroundColor Red } }

Jan

So kann man es natürlich auch machen ;-) Ich persönlich versuche so wenig wie möglich zu ex- und importieren, um somit Fehler im Vorgang zu vermeiden, den Vorgang nicht zu verlangsamen und die Möglichkeit nicht zu verlieren weitere Objekteigenschaften zu verarbeiten. Danke für Dein Feedback und noch einen schönen Tag :)