Ich habe ein Drehbuch geschrieben und als Teil des Skripts ich überprüft werde, ob ein Auftrag ausgeführt wird und wenn es ist, zwingt ihn zu stoppen:bessere Art und Weise ein Skript zu schreiben boolean Fehler zu vermeiden
$copyjob = Get-Job -Name DBACopy_QFR1-DBA20_2_QFR3-DBS21_S_Drv_DBA -ErrorAction SilentlyContinue
if ($copyjob)
{
remove-job $copyjob -force # This job my be causing problems with the backups so we kill it to make sure.
}
jedoch , ich denke, was ich geschrieben habe, die Ursache für diesen Fehler ist, wenn das Skript ausgeführt wird:
Wert kann nicht „System.Management.Automation.PSRemotingJob“ convert „System.Boolean“ eingeben. Boolesche Parameter akzeptieren nur Boolesche Werte und Zahlen, wie $ True, $ False, 1 oder 0
Gibt es eine bessere Art und Weise tun, die diesen Fehler nicht auf wirft, oder bin ich völlig falsch im Denken dass dies der Fehler ist.
Immer noch den gleichen Fehler. Es besteht immer die Möglichkeit, dass es sich nicht um einen Teil des Skripts handelt. – GiANTOnFire
Nun, ich würde sagen, schreiben Sie einige Write-Output oder Write-Host-Anweisungen in Ihrem Skript und verfolgen Sie, welcher Teil den Fehler wirft. Sie können sich die Ausgabe ansehen und sehen, bis zu welchem Punkt die Ausführung fortschreitet und wo sie fehlschlägt. Etwas wie Write-Output "Zum Entfernen laufende Jobs holen" für das obige Beispiel. –