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-Key: 269771

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

Printed on: April 16, 2024 at 11:04 o'clock

Member: emeriks
Solution emeriks Apr 21, 2015 updated at 14:13:21 (UTC)
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.
Mitglied: 114757
Solution 114757 Apr 21, 2015 updated at 14:13:25 (UTC)
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
Member: pixel0815
pixel0815 Apr 21, 2015 at 14:13:37 (UTC)
Goto Top
Vielen Dank :o) Beides hat mir sehr weitergeholfen !