Zeichen innerhalb von einem String entfernen
Hallo Zusammen,
ich möchte per Powershell bei uns im AD einige E-Mail Strings gerade ziehen.
Durch Historisch gewachsene Strukturen haben viele User im Feld E-Mail ein _ Zeichen. Dies wurde nach Rücksprache vor langer Zeit getätigt, da diese User bis dato keine Mailadresse hatten und dies nicht als Mail eingelesen wurde....
Jetzt zu meinem Problem:
ich habe z. B. eine Mail _test.user@company.com und möchte die Stelle _ einfach nur entfernen. Des Weiteren sollen alle Accounts die keinen _ haben unberührt bleiben.
hatte an einen Replace oder Split Befehl gedacht
Wie kann ich das am besten Angehen?
Viele Grüße
ich möchte per Powershell bei uns im AD einige E-Mail Strings gerade ziehen.
Durch Historisch gewachsene Strukturen haben viele User im Feld E-Mail ein _ Zeichen. Dies wurde nach Rücksprache vor langer Zeit getätigt, da diese User bis dato keine Mailadresse hatten und dies nicht als Mail eingelesen wurde....
Jetzt zu meinem Problem:
ich habe z. B. eine Mail _test.user@company.com und möchte die Stelle _ einfach nur entfernen. Des Weiteren sollen alle Accounts die keinen _ haben unberührt bleiben.
hatte an einen Replace oder Split Befehl gedacht
Wie kann ich das am besten Angehen?
Viele Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4075867751
Url: https://administrator.de/contentid/4075867751
Ausgedruckt am: 22.11.2024 um 04:11 Uhr
4 Kommentare
Neuester Kommentar
Servus @Woraxor.
Das ist schnell erledigt
Grüße Uwe
Powershell Leitfaden für Anfänger
Das ist schnell erledigt
Get-ADUser -Filter * -Properties mail | ? mail -match '_' | %{Set-ADUser $_.SamAccountname -EmailAddress ($_.mail -replace '_') -verbose}
Powershell Leitfaden für Anfänger
Eventuell vor die letzte geschweifte Klammer ein -Whatif für einen Trockenlauf, um zu prüfen, ob auch das gemacht wird was man möchte.
Richtig. Und falls man es zusätzlich auf eine bestimmte Organisationseinheit einschränken möchte, einfach den -SearchBase Parameter im Get-ADUser CMDLet mit angeben.