pixel0815
Goto Top

Hinzufügen von ändern von Ö Ä Ü ß in oe ae ue ss in PS Skript

Hallo zusammen,

habe folgendes Skript und würde gerne bei der Erstellung der Email abfangen das dort kein Umlaut steht später.
Hat da jemand was einfaches parat das zu meinem Code passt?

function Update ($username) {
$user = get-aduser $username -Erroraction SilentlyContinue
if ($user){
  set-aduser $user -Replace @{mail="$($user.givenname).$($user.surname)@domain"}  
  set-aduser $user -Replace @{wWWHomePage="www.blabla.de"}  
  set-aduser $user -Replace @{c="DE"}  
  }
Else{
  write-host 'User existiert nicht'  
}
}

$benutzer = Import-Csv "C:\Updateusers.csv" -delimiter ";"  
foreach($b in $benutzer){
  Updatel $b.SamAccountname
}

Grüße aus dem Norden
Heiko

Content-ID: 269771

Url: https://administrator.de/forum/hinzufuegen-von-aendern-von-oe-ae-ue-ss-in-oe-ae-ue-ss-in-ps-skript-269771.html

Ausgedruckt am: 19.02.2025 um 22:02 Uhr

emeriks
Lösung emeriks 21.04.2015 aktualisiert um 16:13:21 Uhr
Goto Top
Hi,
wo nicht stehen darf? Welche Email? Du meinst die Mail-Adresse?

So etwa:
$mail = $($user.givenname).$($user.surname)@domain
$mail = $mail -replace "ä", "ae"  
$mail = $mail -replace "Ä", "Ae"  
$mail = $mail -replace "ö", "oe"  
$mail = $mail -replace "Ö", "Oe"  
........
set-aduser $user -Replace @{mail="$mail"}  
Sollte so gehen.
Das kann man auch in Schleifen packen, wird aber auch nicht einfacher.

E.
114757
Lösung 114757 21.04.2015 aktualisiert um 16:13:25 Uhr
Goto Top
Naja geht schon face-wink
$mapping = @{'ä'='ae';'ö'='oe';'ü'='ue';'ß'='ss'}  
$mail = "$($user.givenname).$($user.surname)@domain"  
$mapping.GetEnumerator() | %{$mail = $mail -replace $_.Name,$_.Value}
set-aduser $user -Replace @{mail=$mail}
Gruß jodel32
pixel0815
pixel0815 21.04.2015 um 16:13:37 Uhr
Goto Top
Vielen Dank :o) Beides hat mir sehr weitergeholfen !