Fragensteller
DISM Skriptaktivierung mit TRY/CATCH

Frage
-
Ich habe eine Problem. Ich will für DISM Restorehealth ein Autoscript schreiben für ein Projekt.
Die Try/Catch funktioniert aber nur wenn DISM garnicht ausgeführt wird. Ich habe dann gesucht und etwas gefunden, das dann den Fehler INNERHALB von dism anzeigt. Das tut es auch wenn man den code so wie unten im ISE laufen lässt. Er schreibt die "failed exit code" also scheint das zu funktionieren. was aber nicht funktioniert ist der code an sich. Der Fehler kommt immer und ich will aber dass er Restore health tatsächlich auch durchlaufen lässt.
Bitte euch um Hilfe. Komm einfach nicht auf die richtige Antwort.
try {
Start-Process -FilePath dism.exe -ArgumentList '/Online', '/Cleanup-Image', '/RestoreHealth' -Verb RunAs -WindowStyle Hidden
if( $LASTEXITCODE -ne 0 ){
# Handle the error here
# For example, throw your own error
Write-Warning "dism.exe failed with exit code ${LASTEXITCODE}"
exit 1
}}
catch{ Write-Host $("Fehler aufgetreten:" + $_.Exception.GetType().FullName);
exit 1
}
Alle Antworten
-
Moin,
für DISM gibt es native PowerShell-Cmdlets. Ansonsten, wenn Du catchen willst, musst Du einen Error schmeißen ;-)
Evgenij Smirnov
-
Da du einen Prozess startest, kannst du nur dessen Ende nur mit dem zurückgegebenen Process-Objekt prüfen.
Ein Try/Catch funktioniert nicht Prozess übergreifend sondern nur in deinem Script.Ggf. kannst du ja auch die DISM Cmdlets verwenden:
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/use-dism-in-windows-powershell-s14 -
Das Problem ist den Error schmeißt er mir nur, wenn dism garnicht startet. Wenn ich das I aus Dism entferne z.b.
Aber innerhalb des programms, wenn der pfad nicht passt etc da schmeißt er mir dann keinen error. Haben wir mit datadog schon versucht. TryCatch funzt quasi nur wenn Dism nicht ausgeführt werden kann. Bei fehlern Innerhalb von dism krieg ich keine info
-
Das ist korrekt. Du kannst nicht überwachen, was der externe Prozess tut.
Dafür schreibt DISM ja dann auch Logfiles, die es dann zu analysieren gilt.- Bearbeitet Der Suchende Donnerstag, 11. Februar 2021 14:43