Block of Code verhindert die Ausführung des Skripts, wird jedoch interaktiv ausgeführt

Ich habe ein Skript, das als geplante Task ausgeführt wird, die mit einem unerwarteten Tokenfehler in der Zeile fehlschlägt, in der $ As definiert ist. Wenn ich den Code entferne, wird das Skript ordnungsgemäß ausgeführt. Wenn ich das gesamte Skript (einschließlich des problematischen Abschnitts) in ein PowerShell-Fenster einfüge, wird alles wie erwartet ausgeführt.

Ich gehe davon aus, dass dies ein einfaches Problem ist, auf das ich gerade nicht gestoßen bin, aber ich kann nicht herausfinden, wo das Problem liegt. Erfahrene Augen wären willkommen.

Dies wird auf Server 2012R2 mit PS 5.0.117 ausgeführt, ist jedoch auch unter Version 4 aufgetreten.

# Sanitize $UserLogon
$Garbage = "[?\' ]",''
$As = '[?ÀÁÂÃÄÅÆàáâãäåæ]','a'
$Cs = '[?Çç]','c'
$Es = '[?ÈÉÊËèéêë]','e'
$Is = '[?ÌÍÎÏìíîï]','i'
$Ns = '[?Ññ]','n'
$Os = '[?ÒÓÔÕÖØðòóôõöø]','o'
$Ss = '[?ß]','s'
$Us = '[?ÙÚÛÜùúûü]','u'
$Thorns = '[?Þþ]','th'

$TextReplacers = $Garbage, $As, $Cs, $Es, $Is, $Ns, $Os, $Ss, $Us, $Thorns

foreach ($Replacement in $TextReplacers) {
    $UserLogon = $UserLogon -replace $Replacement
    }

Der genaue Fehler, den ich erhalte, ist:

At C:\Scripts\Onboarding\CreateUserAccount0.ps1:121 char:17
+     $As = '[?ÀÃÂÃÄÅÆàáâãäåæ]','a'
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Unexpected token 'ÃÄÅÆàáâãäåæ]','a'
    $Cs = '[?Çç]','c'
    $Es = '[?ÈÉÊËèéêë]','e'
    $Is = '[?ÃŒÃÃŽÃìíîï]','i'
    $Ns = '[?Ññ]','n'
    $Os = '[?ÒÓÔÕÖØðòóôõöø]','o'
    $Ss = '[?ß]','s'
    $Us = '[?ÙÚÛÜùúûü]','u'
    $Thorns = '[?Þþ]','th'

    $TextReplacers = $Garbage, $As, $Cs, $Es, $Is, $Ns, $Os, $Ss, $Us, $Thorns

    foreach ($Replacement in $TextReplacers) {
        $UserLogon = $UserLogon -replace $Replacement
        }
# Check if AD user already exists.
$UserExists = Get-ADUser -Filter {SamAccountName -eq $UserLogon}
if ($UserExists -ne $Null){
    $email = new-object Net.Mail.SMTPClient($mailServer)
    $err += "$UserLogon' in expression or statement.

Wenn ich das $ As auskommentiere, passiert das mit $ Ns und $ Os. Wenn ich $ As, $ Ns und $ Os auskommentiere, läuft es einwandfrei.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage