Powershell-Teilscript funktioniert unter Windows Server 2012 nicht mehr
Hallo zusammen,
es ist eigentlich relativ einfach. Es geht um folgenden Schnipsel:
Dieser Teil funktioniert unter Windows Server 2008R2 problemlos. Unter Windows Server 2012 widerrum nicht...
Hier die Powershell-Versionen.
Windows Server 2008R2:
PS C:\Users\Administrator> $host.version
Major Minor Build Revision
----- ----- --------
2 0 -1 -1
Windows Server 2012:
PS C:\Users\Administrator\Desktop> $host.version
Major Minor Build Revision
----- ----- --------
3 0 -1 -1
Bisher haben wir das Ganze bei uns mit einem Hashtable verarbeitet. Die obengenannte Lösung wäre natürlich übersichtlicher und einfacher. Stammt aus diesem Beitrag. Hat jemand das selbe Problem beobachtet?
Grüße,
Dani
es ist eigentlich relativ einfach. Es geht um folgenden Schnipsel:
$givenname = $givenname -replace ("ä", "ae") -replace ("ö", "oe") -replace ("ü", "ue") -replace ("ß", "ss")
$surname = $surname -replace ("ä", "ae") -replace ("ö", "oe") -replace ("ü", "ue") -replace ("ß", "ss")
Hier die Powershell-Versionen.
Windows Server 2008R2:
PS C:\Users\Administrator> $host.version
Major Minor Build Revision
----- ----- --------
2 0 -1 -1
Windows Server 2012:
PS C:\Users\Administrator\Desktop> $host.version
Major Minor Build Revision
----- ----- --------
3 0 -1 -1
Bisher haben wir das Ganze bei uns mit einem Hashtable verarbeitet. Die obengenannte Lösung wäre natürlich übersichtlicher und einfacher. Stammt aus diesem Beitrag. Hat jemand das selbe Problem beobachtet?
Grüße,
Dani
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 213480
Url: https://administrator.de/forum/powershell-teilscript-funktioniert-unter-windows-server-2012-nicht-mehr-213480.html
Ausgedruckt am: 01.04.2025 um 23:04 Uhr
12 Kommentare
Neuester Kommentar
Hallo Dani,
probiers mal mit:
müsste eigentlich funktionieren, werde es aber gleich noch an einem Server 2012 testen.
--edit-- also hier laufen beide Versionen auf einem Server 2012
Grüße Uwe
probiers mal mit:
$givenname = $givenname.replace("ä", "ae").replace("ö", "oe").replace("ü", "ue").replace("ß", "ss")
$surname = $surname.replace("ä", "ae").replace("ö", "oe").replace("ü", "ue").replace("ß", "ss")
--edit-- also hier laufen beide Versionen auf einem Server 2012
Grüße Uwe
Zitat von @Dani:
Hi Uwe,
Danke für deine Antwort. Es scheint folgende Meldung:
komisch da scheint was mit der Zeichkodierung bei deinem Editor nicht zu stimmen.Hi Uwe,
Danke für deine Antwort. Es scheint folgende Meldung:
> In C:\test.ps1:81 Zeichen:93
> + ... "ue").replace ("ÃY", "ss")
> + ~
> Unerwartetes Token "(" in Ausdruck oder Anweisung.
> In C:\test.ps1:82 Zeichen:89
> + ... "ue").replace ("ÃY", "ss")
> + ~
> Unerwartetes Token "(" in Ausdruck oder Anweisung.
> + CategoryInfo : ParserError: (:) , ParseException
> + FullyQualifiedErrorId : UnexpectedToken
>
hier gehen beide Versionen.
P.S. Seltsame Gänsefüßchen hast du im Code...
sorry korrigiert, kommt vom kopieren des Code aus einer VM...
steht oben -> test.ps1
@Dani : mach mal die Leerzeichen zwischen "replace" und den Klammern weg, dann gehts!
also
anstatt
also
replace("ä","ae")
replace ("ä","ae")
Zitat von @Dani:
@colinardo
Oh... vor lauter Copy&Paste. Nun erscheint keine Fehlermeldung mehr. Allerdings wird ein "ä" nicht ersetzt.
Hast du dein Script auf einem Server 2012 getestet?
Yip, läuft einwandfrei auf einem Server 2012. Welchen Editor nutzt du um die Scripte zu speichern? Geb den Code mal manuell in die Shell ein dann wirst du sehen das er geht.@colinardo
Oh... vor lauter Copy&Paste. Nun erscheint keine Fehlermeldung mehr. Allerdings wird ein "ä" nicht ersetzt.
Hast du dein Script auf einem Server 2012 getestet?
Hey Dani, Hey Colinardo,
mal zum Anfang bzw. zum Errorcode:
Der Auszug "> + ... "ue").replace ("ÃY", "ss")" und vor allem das "ÃY" sieht für mich so aus, dass die ps1 (im Editor erstellt?) im falschen Format gespeichert wurde.
Diese werden ja im Standard im ANSI Format gespeichert. Stellst du das aber auf UNICODE ein, dann sollte das auch laufen.
Hatte damit immer erhebliche Probleme bei Massenimporten per LDIFDE bzw. CSVDE...
Dani, kannst du da mal schauen ob das im UNICODE Format funktioniert.
Danke
mal zum Anfang bzw. zum Errorcode:
Der Auszug "> + ... "ue").replace ("ÃY", "ss")" und vor allem das "ÃY" sieht für mich so aus, dass die ps1 (im Editor erstellt?) im falschen Format gespeichert wurde.
Diese werden ja im Standard im ANSI Format gespeichert. Stellst du das aber auf UNICODE ein, dann sollte das auch laufen.
Hatte damit immer erhebliche Probleme bei Massenimporten per LDIFDE bzw. CSVDE...
Dani, kannst du da mal schauen ob das im UNICODE Format funktioniert.
Danke