Powershell Batch Exit Code

bolle01
Goto Top
Hallo,

ich bin gerade dabei ein PS Paket zu erstellen. Es wird ein bat Datei aufgerufen. Dieser startet eine AtRunUnattended.exe mit einer XML Datei. Da sind die Dateien (ca. 25) aufgeführt die installiert werden sollen. Wenn ich das PS Skript starte installiert er zwar die ganzen Programme, sagt dann aber die Installation sei schief gegangen. Im PS Log steht drin das er keinen Exit Code erhalten hätte. Wie/Wo kann ich einen Exit Code einfügen ? Ich hätte da an die bat Datei gedacht, irgendwas wie If AtRunUnattended.exe end, then Exit Code 0. Und wie kann ich dass dann an PS triggern ?
Hatte schon $LastExitCode returns 0 if success and 1 if failure ausprobiert hat aber nicht funktioniert.

mfg

bolle01

Content-Key: 1268946738

Url: https://administrator.de/contentid/1268946738

Ausgedruckt am: 02.07.2022 um 13:07 Uhr

Mitglied: erikro
erikro 16.09.2021 um 17:43:37 Uhr
Goto Top
Moin,

meine Glaskugel ist leider ein wenig verstaubt und wenn man sie nicht bei Vollmond poliert, geht sie kaputt. Deshalb ist das Skript kaum zu erkennen. Kannst Du es vielleicht hier posten? Bitte die Code-Tags (das Symbol </>) nicht vergessen.

Liebe Grüße

Erik
Mitglied: 143611
Lösung 143611 16.09.2021 um 18:51:11 Uhr
Goto Top
Moin,

vielleicht hilft Dir folgender Link weiter...

Viel Erfolg!
Mitglied: bolle01
bolle01 24.09.2021 um 10:25:12 Uhr
Goto Top
Moin,

sry das ich mich jetzt erst wieder melde. Anbei die Inhalte von dem Paket. Wenn ich das Log File richtig verstehe braucht PS einen Exit Code für die bat Datei das diese zu Ende ist. Das heißt ich müsste einen Exit Code in die bat Datei einfügen wie müsste der aussehen ? Die Installdateien aus der XML werden alle korrekt installiert.

Das PS Skript sieht so aus.

Execute-Process -Path 'Aspen Manufacturing Execution Systems & Advanced Process Control.bat'

New-Item -ItemType directory -Path "C:\Temp"

Copy-File -Path "$dirFiles\ATMS.cmd" -Destination "C:\Temp"

Set-ActiveSetup -StubExePath 'C:\Temp\ATMS.cmd' -Arguments '/Silent' -Description 'Delete HTML Desktop Icon' -Key 'Aspen Tech Manufacturing Suite 12 Admin' -ContinueOnError $true

Remove-Folder -Path "$envAllUsersProfile\Microsoft\Windows\Start Menu\Programs\Aspen Configuration"

Inhalt bat Datei.

echo off

AtRunUnattended.exe "%~dp0Aspen Manufacturing Execution Systems & Advanced Process Control.xml" /S /noreboot logfile="%TEMP%\Aspen Manufacturing Execution Systems & Advanced Process Control C.log" altsource="."

:end

Inhalt Log File.

<![LOG[[Installation] :: [Aspen Manufacturing Execution Systems & Advanced Process Control.bat] successfully resolved to fully qualified path [C:\Users\e.stark\Downloads\OUT\AspenTech\Aspen Manufacturing Suite_12_X64 Client\Files\Aspen Manufacturing Execution Systems & Advanced Process Control.bat].]LOG]!><time="09:49:49.669120" date="09-24-2021" component="Execute-Process" context="Test\e.stark" type="1" thread="7856" file="Deploy-Application.ps1">

<![LOG[[Installation] :: Working Directory is [C:\Users\e.stark\Downloads\OUT\AspenTech\Aspen Manufacturing Suite_12_X64 Client\Files].]LOG]!><time="09:49:49.696120" date="09-24-2021" component="Execute-Process" context="Test\e.stark" type="1" thread="7856" file="Deploy-Application.ps1">

<![LOG[[Installation] :: Executing [C:\Users\e.stark\Downloads\OUT\AspenTech\Aspen Manufacturing Suite_12_X64 Client\Files\Aspen Manufacturing Execution Systems & Advanced Process Control.bat]...]LOG]!><time="09:49:49.702120" date="09-24-2021" component="Execute-Process" context="Test\e.stark" type="1" thread="7856" file="Deploy-Application.ps1">

<![LOG[[Installation] :: Execution failed with exit code [1603].]LOG]!><time="09:55:15.101120" date="09-24-2021" component="Execute-Process" context="Test\e.stark" type="3" thread="7856" file="Deploy-Application.ps1">

<![LOG[[Installation] :: Closing the installation progress dialog.]LOG]!><time="09:55:15.140120" date="09-24-2021" component="Close-InstallationProgress" context="Test\e.stark" type="1" thread="7856" file="Deploy-Application.ps1">

<![LOG[[Installation] :: Closing the installation progress dialog's runspace.]LOG]!><time="09:55:15.156120" date="09-24-2021" component="Close-InstallationProgress" context="Test\e.stark" type="1" thread="7856" file="Deploy-Application.ps1">

<![LOG[[Installation] :: AspenTech_AspenManufacturingSuite12Client_X64_DE_01 Installation completed with exit code [1603].]LOG]!><time="09:55:15.197120" date="09-24-2021" component="Exit-Script" context="Test\e.stark" type="1" thread="7856" file="Deploy-Application.ps1">

mfg

bolle01
Mitglied: 149569
149569 24.09.2021 aktualisiert um 11:00:16 Uhr
Goto Top
<Code>
exit %errorlevel%
</code>
Aber wozu das Geraffel extra in ne Batch packen und nicht direkt in der Powershell aufrufen??
Mitglied: bolle01
bolle01 28.09.2021 um 10:47:02 Uhr
Goto Top
Hallo Hacktor,

das habe ich auch schon probiert, leider kommt es da auch zu einem Fehler. Ich habe das Problem lösen können. Ich habe in die Batch Datei dann exit /B 0 hinzugefügt und nun funktioniert es. Danke für die Hilfe.

mfg

bolle01