Ein Problem mit dem Catch-Befehl. Ich habe das folgende Skript, das ich zu verarbeiten versuche:
%Vor%Jedes Mal, wenn ich das tue, bekomme ich nichts im Fang. Hier ist der Fehler, den ich vom Skript bekommen habe:
%Vor%Irgendwelche Ideen?
Working Solution (Danke an PK und Patrick für ihre gemeinsamen Beiträge)
%Vor%Füge "-ErrorActionPreference Stop" zu deinem CmdLet hinzu.
Zum Beispiel
%Vor%Es scheint einige Inkonsistenzen mit der Art und Weise zu geben, in der verschiedene Cmdlets Fehler verarbeiten, insbesondere solche Add-On-Cmdlets wie die Active Directory-Cmdlets. Ich denke jedoch, die Grundidee ist, dass Powershell Catch nur terminierende Fehler abfängt, von denen Ihre Ausnahme oben nicht standardmäßig ist. Wenn Sie also -EA Stop verwenden, erzwingen Sie einen Abbruchfehler, der den Catch-Block auslöst.
Hier ist Ed Wilson zum Thema: Ссылка
Ich konnte das zum Laufen bringen:
%Vor% -PassThru
für den Befehl Add-Computer
gibt die Ergebnisse des Befehls an die Shell zurück.
-ErrorAction Stop
weist PowerShell an, zu stoppen, wenn ein Fehler auftritt; Dies unterdrückt die Fehlerausgabe, die Sie gesehen haben.
Tags und Links powershell