Jump to content

Powershell: Gruppen umbennen


Direkt zur Lösung Gelöst von MurdocX,
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

 

bei uns wird der Filezugriff per Gruppen gesteuert.

 

Einmal "Verzeichnisname-RF" (Leserechte)

Und "Verzeichnisname-RWCEMF" (Schriebrechte)

 

Da -RF und -RWCEMF Hinterlassenschaften aus unsere alten Novell-Welt sind, würden wir dies gerne anpassen.

 

Aktulle verwenden wir nur noch -R und -RW.

 

Hat jmd. eine Idee wie wir die Gruppe am besten per Powershell umbennen können?

 

 

Danke schonmal

Geschrieben

da ich noch blutiger anfänger bin poste ich einfach mal was ich bsiher habe ^^ funtz auf jeden fall schonmal nicht

 

 

$Gruppen = Get-ADGroup -Filter "*-RWCEMF" | Select Name

foreach ($Gruppe in $Gruppen)
    {
        Set-ADGroup .$Gruppe.SamAccountName ????

 

Leider hörts da bei mir auch schon auf

Geschrieben (bearbeitet)

Hi Kuddel,

 

ich habe für Dich ein PS-Skript geschrieben um Gruppen umzubenennen. Ist getestet und funktioniert. Viel Erfolg ;-)

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

foreach ($RWobj in $RW_Gruppen)
{
    try
    {
        $RWName = (($RWobj).Name).Replace('RWCEMF','RW')
        Rename-ADObject -Identity $RWobj -NewName $RWName
        Write-Host "[+] $($RWobj.Name) wurde erfolgreich in $RWName umbenannt." -ForegroundColor Green
    }
    catch
    {
        Write-Host "[ERR] $($RWobj.Name) wurde nicht umbenannt.`n$_" -ForegroundColor Red
    }
}

foreach ($Robj in $R_Gruppen)
{
    try
    {
        $RName = (($Robj).Name).Replace('RF','R')
        Rename-ADObject -Identity $Robj -NewName $RName
        Write-Host "[+] $($Robj.Name) wurde erfolgreich in $RName umbenannt." -ForegroundColor Green
    }
    catch
    {
        Write-Host "[ERR] $($Robj.Name) wurde nicht umbenannt.`n$_" -ForegroundColor Red
    }
}

NACHTRAG: Bitte beachte, dass nur das der Objekt-Name ohne sAMAccountName geändert wird! Falls das nicht gewünscht ist, muss das Skript nochmal leicht modifiziert werden.

bearbeitet von MurdocX
  • Beste Lösung
Geschrieben

Ok, hab´s noch angepasst. Jetzt wird alles geändert. SamAccountName, CN und Name  ;)

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

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

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

Zum Abschluss des Threads.... Hat es mit dem Skript wie gewünscht geklappt?

 

Hat super geklappt.

 

Eine Anmerkung habe ich noch: Kann man alle umbenannten Gruppen noch iwie in ein Log schrieben zur kontrolle?

 

Also das was in der Konsole grün hinterlegt ist ?

 

Dann bin ich auch restlos zufrieden :-)

Geschrieben

Hat super geklappt.

 

Eine Anmerkung habe ich noch: Kann man alle umbenannten Gruppen noch iwie in ein Log schrieben zur kontrolle?

 

Also das was in der Konsole grün hinterlegt ist ?

 

Dann bin ich auch restlos zufrieden :-)

 

Klar geht das ;-)

 

Setze unter das "Write-Host" jeweils diesen Befehl "Out-File" und ersetze dabei "PFAD" durch den Dateipfad deines Logs und "TEXT" durch den Text der nach dem "Write-Host" jeweils steht.

 

Out-File -FilePath 'PFAD' -Encoding utf8 -Append -InputObject "TEXT"

Geschrieben

Klar geht das ;-)

 

Setze unter das "Write-Host" jeweils diesen Befehl "Out-File" und ersetze dabei "PFAD" durch den Dateipfad deines Logs und "TEXT" durch den Text der nach dem "Write-Host" jeweils steht.

 

Out-File -FilePath 'PFAD' -Encoding utf8 -Append -InputObject "TEXT"

 

Hat alles prima geklappt. Das Log funzt auch.

 

Langsam kehr Ordnung in unserem AD ein :-)

 

Viele Dank für die Hilfe

  • Like 1
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...