woraxor
Goto Top

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

Content-ID: 4075867751

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

Ausgedruckt am: 22.11.2024 um 04:11 Uhr

colinardo
Lösung colinardo 27.09.2022 aktualisiert um 11:12:54 Uhr
Goto Top
Servus @Woraxor.
Das ist schnell erledigt
Get-ADUser -Filter *  -Properties mail | ? mail -match '_' | %{Set-ADUser $_.SamAccountname -EmailAddress ($_.mail -replace '_') -verbose}  
Grüße Uwe
Powershell Leitfaden für Anfänger
3063370895
3063370895 27.09.2022 um 11:35:28 Uhr
Goto Top
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.
colinardo
Lösung colinardo 27.09.2022 aktualisiert um 11:51:49 Uhr
Goto Top
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.
Woraxor
Woraxor 27.09.2022 um 15:52:58 Uhr
Goto Top
Hallo Colinardo,

Genau so habe ich es durchgeführt, Besten Dank für deine Hilfe -> Hatte nur etwas Zeit gebraucht um die Syntax nachzuvollziehen.

Gruß