Es hat mal wieder lange gedauert bis ich herausgefunden habe, warum der folgende Funktionsaufruf in der PowerShell nicht richtig funktioniert: function f1 ($p1, $p2)
{
write-host $p1;
write-host $p2;
}
f1(“test”, “123”);
Als Ausgabe kommt nur eine Zeile, anstatt wie erwartet zwei: test 123
In einer Microsoft-Newsgroup habe ich die Antwort gefunden: Die Powershell interpretiert die “Parameterübergabe” ("test", "123") als Array (diese werden in der PowerShell in Klammern und mit Kommas getrennt geschrieben). Dieser dient der Funktion als erster Parameter, während der zweite dann leer bleibt. Somit wird nur eine Zeile ausgegeben. Der folgende Funktionsaufruf führt zum richtigen Ergebnis: f1 "test" "123";