uhd-fischkopp
Goto Top

Suchen und ersetzen AD-Lokale-Sicherheitsgruppen?

Ich habe die tolle Aufgabe, knapp 2k Sicherheitsgruppen umzubenennen.
Warum? Tja, die Namen sind zu lang und werden immer länger (Maximale Pfadlänge 64 Zeichen) °°

Bsp. (Gewachsene Struktur)
P_SRV100_Daten_Abteilungen_Global_Personal_Urlaubsschein_LE
SEV100\Daten\Abteilungen\Global\Personal\Urlaubsschein "Lesezugriff"

Jetzt kommt es immer öfters vor, dass neue Unterordner erstellt werden, mit extra Berechtigung.
Meine Idee ist es jetzt, den Anfang zu ändern, auch bei bestehenden, damit es ordentlicher wird.

Bsp.
aus.
P_SRV100_Daten_Abteilungen_Global_Personal_Urlaubsschein_LE
wird
P_SRV100_D_A_G_Personal_Urlaubsschein_LE
dann habe ich erst mal wieder Platz?
Aber bei fast 1972 Namen wird man ja irre.

Gibt es eine SW oder ein Skript, wie ich den Anfang ersetzen kann, aber der Rest bleibt?


Nur zur Belustigung °°
Tagesgeschäft von heute:
Ja, die GF sagt, ich muss das machen.

Hallo EDV:
Ich muss morgen eine Arbeit abgeben. Hier das Dokument.
Ich benötige Seitenränder, die und die Schriftart und oben sollen die Überschriften zum Anklicken sein °°

Hallo EDV:
Mein Schreibtisch muss höher!
Macht die Technik
nein, da ist ein PC drauf, das müssen Sie machen, sonst kann ich nicht arbeiten, da Sie Ihren Job nicht machen.

Hallo EDV:
Ich halte Montag früh ein Referat, hier ein paar Bilder und Text, eine PowerPoint bis 16:30 machen.
Da ich sie noch einstudieren muss.

Content-Key: 93495041330

Url: https://administrator.de/contentid/93495041330

Printed on: July 16, 2024 at 15:07 o'clock

Member: Michi91
Michi91 Jul 04, 2024 at 12:58:28 (UTC)
Goto Top
Hallo face-smile

Wie soll das Skript aussehen? Wie ist eure Syntax? Ist die immer zuverlässig gleich?

P_SRV100_Daten_
<?>_<Server>_<ObersterOrdner>_<NaechsteEbene>?

Und sollen immer die ersten 3 Hierachieebenen geändert werden oder?

Oder willst du "stumpfes" suchen und ersetzen und "P_SRV100_Daten_Abteilungen_" gegen "P_SRV100_D_A_G_" tauschen?

PS: Wenn die dich mit so etwas nerven und dich das nervt, empfehle ich einen Arbeitsgeberwechsel..
Member: niraxx
niraxx Jul 04, 2024 at 12:59:47 (UTC)
Goto Top
alle Namen exportieren und z.B. in Excel in 2 Spalten einfügen.
dann in der 2. SPalte mit "Suchen und Ersetzen" die Einträge anpassen.

Dann in jede Zeile die Syntax des Befehls zum Umbenennen einfügen.

zum Schluss im Excel als CSV exportieren, umbenennen in eine .bat oder .ps1.
Die Komma bzw. Semikolon entfernen und das Skript ausführen.
Member: WolleRoseKaufe
Solution WolleRoseKaufe Jul 04, 2024 updated at 13:40:22 (UTC)
Goto Top
Auch kein Hallo.
Get-ADGroup -Filter "Name -like '*_*_*_*_*_*'" | %{  
    $newname = $_.Name -replace '(?<=^.+?_.+?_)(.).*?_(.).*?_(.).*?_','$1_$2_$3_'  
    $_ | rename-adobject -Newname $newname -verbose -PassThru | set-adgroup -SamAccountName $newname
}
Auch kein Gruß
Member: UHD-Fischkopp
UHD-Fischkopp Jul 04, 2024 at 14:33:24 (UTC)
Goto Top
Zitat von @Michi91:

Hallo face-smile

Wie soll das Skript aussehen? Wie ist eure Syntax? Ist die immer zuverlässig gleich?

P_SRV100_Daten_
<?>_<Server>_<ObersterOrdner>_<NaechsteEbene>?

Und sollen immer die ersten 3 Hierachieebenen geändert werden oder?

Oder willst du "stumpfes" suchen und ersetzen und "P_SRV100_Daten_Abteilungen_" gegen "P_SRV100_D_A_G_" tauschen?

PS: Wenn die dich mit so etwas nerven und dich das nervt, empfehle ich einen Arbeitsgeberwechsel..


Achso, die meisten Einträge lauten:
P_SRV100_Daten_Abteilungen_Global_
deswegen wollte ich alles in:
P_SRV100_D_A_G_
umbenennen.

PS:Wechsel, Hmm bin, glaube ich, ein wenig zu alt ; )


Zitat von @niraxx:

alle Namen exportieren und z.B. in Excel in 2 Spalten einfügen.
dann in der 2. SPalte mit "Suchen und Ersetzen" die Einträge anpassen.

Dann in jede Zeile die Syntax des Befehls zum Umbenennen einfügen.

zum Schluss im Excel als CSV exportieren, umbenennen in eine .bat oder .ps1.
Die Komma bzw. Semikolon entfernen und das Skript ausführen.

Das hatte ich mir nicht getraut, da ich nicht wusste, ob ich das so einfach wieder einfügen kann.

Zitat von @WolleRoseKaufe:

Auch kein Hallo.
Get-ADGroup -Filter "Name -like '*_*_*_*_*_*'" | %{  
    $newname = $_.Name -replace '(?<=^.+?_.+?_)(.).*?_(.).*?_(.).*?_','$1_$2_$3_'  
    $_ | rename-adobject -Newname $newname -verbose -PassThru | set-adgroup -SamAccountName $newname
}
Auch kein Gruß


Äh
Ok erwischt, bestimmt nützlich, aber mangels fehlendes Wissens für mich nicht ausführbar : )

Schon einmal Danke an alle Daumenhoch
Member: WolleRoseKaufe
WolleRoseKaufe Jul 04, 2024 updated at 14:44:51 (UTC)
Goto Top
Ok erwischt, bestimmt nützlich, aber mangels fehlendes Wissens für mich nicht ausführbar : )
Das lässt sich ändern ...
https://learn.microsoft.com/de-de/powershell/scripting/learn/ps101/01-ge ...
https://danielfett.de/2006/03/20/regulaere-ausdruecke-tutorial/
Macht genau das was du oben willst, Token 3,4 und 5 in der Gruppe durch die Anfangsbuchstaben ersetzen, hier getestet ... Wer nach Skript fragt bekommt es :-P, dann musst du es aber auch minimal verstehen wollen wenn du es schon auf dem Silbertablett serviert bekommst. Powershell Skripte ausführen sollte eigentlich jeder Windows-Admin beherrschen, ansonsten back to school.
Member: Speedfish
Solution Speedfish Jul 04, 2024 at 19:34:06 (UTC)
Goto Top
Moin Zusammen,

@WolleRoseKaufe
props für dein geteiltes Skript. Ist simple, macht genau das was es soll.

@UHD-Fischkopp
Ich kann verstehen, dass man hier dann die Finger lassen will, wenn man keine Ahnung hat. Die Realität ist aber Skripting gehört dazu und früher oder später ist der Zeitpunkt gekommen sich damit etwas auseinanderzusetzen. (Vielleicht existieren für deine Anfrage auch Tools mit einer GUI aber sowas ist wirklich nicht notwendig).
Durch Powershell und diversen AD Cmdlets lässt sich hier was basteln, wie @WolleRoseKaufe es dir gezeigt hat.

Alternativ kannst du dir auch das kleine Skript über Chatgpt (oder eine andere KI / Large Language Model deiner Wahl) erklären lassen.

Damit das Skript funktioniert musst du noch folgende Voraussetzungen erfüllen.

a.) Powershell ISE als Admin starten
b.) Das ActiveDirectory Modul vorweg importieren / ggf. erstmal einmalig noch installieren
c.) Der User mit dem du das ausführst muss entsprechend Rechte haben solche Änderungen im AD durchführen zu können (z.B. Domain Admin)

Schritt b.) habe ich noch in das Skript ergänzt.


# Überprüfen, ob das Modul bereits geladen ist
if (-not (Get-Module -ListAvailable -Name ActiveDirectory)) {
    # Modul installieren auf Windows 10/11
    Add-WindowsCapability -Online -Name "Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0"  
}

# Importieren des Active Directory Moduls
Import-Module ActiveDirectory

# Suchen und Umbenennen von Gruppen
Get-ADGroup -Filter "Name -like '*_*_*_*_*_*'" | %{  
    $newname = $_.Name -replace '(?<=^.+?_.+?_)(.).*?_(.).*?_(.).*?_','$1_$2_$3_'  
    $_ | Rename-ADObject -NewName $newname -Verbose -PassThru | Set-ADGroup -SamAccountName $newname
}

Skripting ist heute vorallem durch Large Language Models (KI) so einfach wie noch nie... aber Achtung immer doppel checken und vorher in einer Testumgebung testen, wenn man das Skript nicht versteht, auch ChatGPT ist nicht fehlerfrei bzw. verarbeitet deine Anfrage ggf. nicht wie erwartet.
Member: UHD-Fischkopp
UHD-Fischkopp Jul 05, 2024 at 06:43:18 (UTC)
Goto Top
Ohhaa,

ihr habt mir echt geholfen, danke an alle.
Ich dachte, ich werde mein Lebenstag mit einzelnen Umbenennen verbringen.

Grüße
Member: ThePinky777
ThePinky777 Jul 05, 2024 at 13:30:16 (UTC)
Goto Top
Hallo EDV:
Ich muss morgen eine Arbeit abgeben. Hier das Dokument.
Ich benötige Seitenränder, die und die Schriftart und oben sollen die Überschriften zum Anklicken sein °°

Hallo EDV:
Mein Schreibtisch muss höher!
Macht die Technik
nein, da ist ein PC drauf, das müssen Sie machen, sonst kann ich nicht arbeiten, da Sie Ihren Job nicht machen.

Hallo EDV:
Ich halte Montag früh ein Referat, hier ein paar Bilder und Text, eine PowerPoint bis 16:30 machen.
Da ich sie noch einstudieren muss.

Sorry, da lautet bei mir immer die Antwort:
Sorry davon hab ich keine Ahnung, mein Job ist es das die Programme laufen, und nicht sie zu bedienen >> Das ist dein Job.

Ausser natürlich du wurderst als Office Supporter und mach diee arbeit für die ganze Firma Tippse eingestellt face-smile