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.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 93495041330
Url: https://administrator.de/contentid/93495041330
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
8 Kommentare
Neuester Kommentar
Hallo
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..
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..
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.
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.
Auch kein Hallo.
Auch kein Gruß
Get-ADGroup -Filter "Name -like '*_*_*_*_*_*'" | %{
$newname = $_.Name -replace '(?<=^.+?_.+?_)(.).*?_(.).*?_(.).*?_','$1_$2_$3_'
$_ | rename-adobject -Newname $newname -verbose -PassThru | set-adgroup -SamAccountName $newname
}
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.
Moin Zusammen,
@13676056485
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 @13676056485 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.
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.
@13676056485
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 @13676056485 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.
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.
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