Kuddel071089 9 Geschrieben 19. August 2015 Melden Geschrieben 19. August 2015 Hallo zusammen, bei jedem AD User ist im Beschreibungsfeld eine Ticketnummer hinterlegt. Leider wurden diese Nummer nicht immer einheitlich geplegt. Beispiel: REQ-2015-12345 oder SR 2015-12345 Gibt es die Möglichkeit diese Einträge (REQ / SR) zu vereinheitlichen ? Irgendwie per Powershellscript -> suchen und ersetzen ? Danke schonmal
Nobbyaushb 1.580 Geschrieben 19. August 2015 Melden Geschrieben 19. August 2015 Hmm, Bulk-Änderungen im AD habe ich früher per Script und AD-Modify gemacht. Brauchte ich lange nicht mehr. ;)
Kuddel071089 9 Geschrieben 19. August 2015 Autor Melden Geschrieben 19. August 2015 problematisch könnte auch werden, dass sich teileweise mehrer einträge untereinander befinden REQ-2014-12343 User erstellt REQ-2015-13541 Mail-Account hiznugefügt Die Einträge dürfen natürlich nicht verloren gehen, Zwecks historie. Mein erster Ansatz war: Export samAccountName und Description in eine CSV. In der CSV "SR" durch "REQ-" ersetzen und dann die geänderten Daten wieder einfügen. Problem 1: beim Export wird nicht der komplette Inhalt vom Descriptionfeld exportiert Problem 2: Eine Info für X User einfügen bekomme ich hin. verschiedene Infos, für verschiedene User nicht ^^ Problem 3: Es dürfen keine Einträge verloren gehen
Dukel 468 Geschrieben 19. August 2015 Melden Geschrieben 19. August 2015 Wieso will man Ticketnummern im AD haben? Kann man im Ticketsystem bei euch nicht suchen? Mit Powershell kannst du AD Felder lesen und schreiben. Du brauchst dafür nicht mal mehr eine csv Zwischendatei.
Kuddel071089 9 Geschrieben 19. August 2015 Autor Melden Geschrieben 19. August 2015 Wieso will man Ticketnummern im AD haben? Kann man im Ticketsystem bei euch nicht suchen? Mit Powershell kannst du AD Felder lesen und schreiben. Du brauchst dafür nicht mal mehr eine csv Zwischendatei. Man kann im TIcketsystem suchen, aber mit den Nummern direkt in der Userbeschreibung geht es deutlich schneller Ja mit PS kann man lesen und schreiben, nur leider sind meine Skills noch begrenzt was das angeht
ssd_rider 2 Geschrieben 19. August 2015 Melden Geschrieben 19. August 2015 Gibt es eine Möglichkeit die Ticketnummern und die jeweiligen Personen in ein Excelsheet zu packen? Dann wäre das Problem in ein paar Zeilen Powershell erledigt. Am WE habe ich das auch gemacht.
Kuddel071089 9 Geschrieben 19. August 2015 Autor Melden Geschrieben 19. August 2015 (bearbeitet) Gibt es eine Möglichkeit die Ticketnummern und die jeweiligen Personen in ein Excelsheet zu packen? Dann wäre das Problem in ein paar Zeilen Powershell erledigt. Am WE habe ich das auch gemacht. Get-ADUser -Filter {Description "*SR*"} -Properties SamAccountName, Description | Select SamAccountName, Description | FT Leider wird damit das Descriptionfeld nicht sauber ausgelesen. Es wird immer etwas abgeschnitten bearbeitet 19. August 2015 von Kuddel071089
ssd_rider 2 Geschrieben 19. August 2015 Melden Geschrieben 19. August 2015 Was soll am Ende genau in der Description stehene? Eine SR Nummer oder eine REQ Nummer? Und jetzt ist nicht bei jeden etwas gepflegt, oder?
Kuddel071089 9 Geschrieben 19. August 2015 Autor Melden Geschrieben 19. August 2015 Was soll am Ende genau in der Description stehene? Eine SR Nummer oder eine REQ Nummer? Und jetzt ist nicht bei jeden etwas gepflegt, oder? IST: User1: SR 2015-15643 User2 : REQ-2015-16465 Soll: User1: REQ-2015-15643 User2: REQ-2015-16465
Dukel 468 Geschrieben 19. August 2015 Melden Geschrieben 19. August 2015 FT (Format-Table) ist auch für die Ausgabe. Du willst die Werte in Variablen oder Objekten Speichern, dort ändern und dann zurückschreiben.
Marcin_K 1 Geschrieben 20. August 2015 Melden Geschrieben 20. August 2015 (bearbeitet) In Powershell ist das ganz einfach zu erledigen, aber man muss sich ein bisschen mit verschiedenen Text-Funktionen auskennen, wie z. B. "trim", "split", usw. Du kannst alle Konten zu einem Array aufnehmen (mit "Get-ADUser") und danach, auf diesem Array, die "Beschreibung" Attribute bearbeiten und die neuen Werte zurück schreibein ("Set-ADUser"). Du kannst auch ein anderes Attribut für diese Information bestimmen - vielleicht kann "Description" für etwas anderes von Nutzen sein. Es gibt die Attribute, die "leer" sind (der Wert $null haben) und können benutzt werden. Grüße Marcin bearbeitet 20. August 2015 von Marcin_K
Kuddel071089 9 Geschrieben 21. August 2015 Autor Melden Geschrieben 21. August 2015 In Powershell ist das ganz einfach zu erledigen, aber man muss sich ein bisschen mit verschiedenen Text-Funktionen auskennen, wie z. B. "trim", "split", usw. Du kannst alle Konten zu einem Array aufnehmen (mit "Get-ADUser") und danach, auf diesem Array, die "Beschreibung" Attribute bearbeiten und die neuen Werte zurück schreibein ("Set-ADUser"). Du kannst auch ein anderes Attribut für diese Information bestimmen - vielleicht kann "Description" für etwas anderes von Nutzen sein. Es gibt die Attribute, die "leer" sind (der Wert $null haben) und können benutzt werden. Grüße Marcin Erstmal schön zu höhren, dass es möglich ist, meine Änderungen umzusetzen. Keider habe ich nicht mit "trim, split" usw. gearbeitet. Und bräuchte dann doch ein wenig Hilfe
Marcin_K 1 Geschrieben 21. August 2015 Melden Geschrieben 21. August 2015 Dieses Skript wechselt den Text "SR 2015-15643" zu "REQ-2015-15643". Die Split(" ") Funktion teilt den Text zu zwei Teilen und speichert diese Teile im Array. Als Teilszeichen wurde " " (das Leerzeichen) benutzt. Danach schafft das Skript den neuen Text indem es den Teil "REQ-" mit der Nummer verbindet. $DescriptionOld = "SR 2015-15643" $DescriptionNew = "" $DescriptionTemp = $DescriptionOld.Split(" ") Write-Host $DescriptionTemp[0] Write-Host $DescriptionTemp[1] $DescriptionNew = "REQ-" + $DescriptionTemp[1] Write-Host $DescriptionNew Es gibt viele Artikel im Internet, die beschreiben, wie man einen Text in Powerschell bearbeiten kann. Das ist extrem nützlich in Situationen wie diese und es lohnt sich das zu üben. Grüße Marcin
Dukel 468 Geschrieben 21. August 2015 Melden Geschrieben 21. August 2015 Ich würde statt split replace nutzen. Wenn z.B. in einem Eintrag SR1234 (ohne das Leerzeichen) steht, wird dies nicht ersetzt.
Marcin_K 1 Geschrieben 21. August 2015 Melden Geschrieben 21. August 2015 Natürlich, das ist auch möglich - als ich geschrieben habe, hat Powershell viele Funktionen, um den Text zu bearbeiten. Grüße Marcin
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden