Kuddel071089 9 Geschrieben 19. August 2015 Melden Teilen 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 Zitieren Link zu diesem Kommentar
Nobbyaushb 1.464 Geschrieben 19. August 2015 Melden Teilen Geschrieben 19. August 2015 Hmm, Bulk-Änderungen im AD habe ich früher per Script und AD-Modify gemacht. Brauchte ich lange nicht mehr. ;) Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 19. August 2015 Autor Melden Teilen 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 Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 19. August 2015 Melden Teilen 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. Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 19. August 2015 Autor Melden Teilen 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 Zitieren Link zu diesem Kommentar
ssd_rider 2 Geschrieben 19. August 2015 Melden Teilen 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. Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 19. August 2015 Autor Melden Teilen 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 Zitieren Link zu diesem Kommentar
ssd_rider 2 Geschrieben 19. August 2015 Melden Teilen 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? Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 19. August 2015 Autor Melden Teilen 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 Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 19. August 2015 Melden Teilen 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. Zitieren Link zu diesem Kommentar
Marcin_K 1 Geschrieben 20. August 2015 Melden Teilen 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 Zitieren Link zu diesem Kommentar
Kuddel071089 9 Geschrieben 21. August 2015 Autor Melden Teilen 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 Zitieren Link zu diesem Kommentar
Marcin_K 1 Geschrieben 21. August 2015 Melden Teilen 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 Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 21. August 2015 Melden Teilen 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. Zitieren Link zu diesem Kommentar
Marcin_K 1 Geschrieben 21. August 2015 Melden Teilen 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 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.