Comments (5)
The problem with what your change is that you are now telling powershell.exe to exit with the actual value of LastExitCode as it currently stands when the command was executed. You would not get the correct exit code back from the execution of the Script1.ps1. Also, the semi-colon is required so that powershell.exe knows that these are two separate commands you are executing.
Thinking about it, I think the example should really be like so:
Execute-ProcessAsUser -Path "$PSHOME\powershell.exe" -Parameters '-Command `"C:\Test\Script.ps1`"; Exit `$LastExitCode' -Wait
I think there is a bug around the -File parameter for powershell.exe. It can't accept script blocks so the Exit command won't work with it. It also does not return the correct exit code and that bug will never be fixed due to Microsoft being super anal about maintaining backwards compatibility.
Test using the above example that uses the -Command parameter and let me know if that works for you. If so, then I will update the example given in the code.
from psappdeploytoolkit.
In performing further testing it appears that replacing "-file" with "-command" solves part of the issue but not all. When using the new command-line I now get a failure code: 1.
If I remove the escape (`) characters within the string like below I get success:
Execute-ProcessAsUser -Path "$PSHOME\powershell.exe" -Parameters '-Command "C:\Test\Script.ps1"; Exit $LastExitCode' -Wait
from psappdeploytoolkit.
I'm concerned that the above command will not exit with the correct exit code from the execution of Script.ps1 if that script were returning some custom exit code. I have not tested the below command, but I think it should work and it would guarantee that we get the correct exit code passed back to the task scheduler because the $LastExitCode variable would be enclosed in a script block. Basically, what I want to be able to do is not pass the value of the $LastExitCode variable from the current script to the exit statement of the script I want to execute as that would mean that exit code information from the script being executed would be lost. I hope that makes sense and this might not be useful for you in the case of this script, but it may be important in other instances.
Execute-ProcessAsUser -Path "$PSHOME\powershell.exe" -Parameters "-Command & { & `"C:\Test\Script.ps1`"; Exit `$LastExitCode }" -Wait
from psappdeploytoolkit.
I tried your last example and it works flawlessly. The psappdeploytoolkit log file logs an exit code of 0 upon successful execution of script.ps1 and also returns the proper error code from the script.ps1 when demanded. Can your latest example be added to Execute-ProcessAsUser help in place of the current?
from psappdeploytoolkit.
It's been updated in the latest beta.
from psappdeploytoolkit.
Related Issues (20)
- Show-InstallationPrompt: Add ability to prompt for free text value HOT 1
- Remove-Folder HOT 3
- Configure-EdgeExtension error after ExtensionSettings created with empty string value HOT 1
- BREAK : Interactive & Allow users to interact with this program HOT 9
- [PSADT.UiAutomation] does not contain a method named 'SetProcessDPIAware' HOT 6
- The custom welcome message in the XML file HOT 1
- Zip Structure folder changed after v3.9.2 HOT 1
- How to use the AppDeployToolkit with Ivanti EndPoint Manager ? HOT 2
- PSAppDeployToolkit version 3.10.0 Deploy-Application.exe doesn't start when display language is set to Finnish HOT 1
- Show-InstallationWelcome not prompting to close software when pushed as a system account HOT 11
- Update Function Show-InstallationWelcome HOT 4
- "QuietUninstallString" and "WindowsInstaller" in Get-InstalledApplication (Follow-up of: https://github.com/PSAppDeployToolkit/PSAppDeployToolkit/issues/652) HOT 2
- ClosePrompt_ButtonClose to small with german text HOT 5
- Is this a dead variable? HOT 3
- [Bug] Configure-EdgeExtension errors on line 16517 char:40 - Add-Member : Cannot bind argument to parameter 'InputObject' because it is null. HOT 1
- [tanslation] <BalloonText_FastRetry> German Translastion
- [Bug] HOT 1
- Incorrect information with 'Set-ItemPermission' reference in docs - 'https://psappdeploytoolkit.com/docs/reference/functions/Set-ItemPermission/' HOT 1
- [Documentation] Copy-File documentation needs more info
- [Feature] Pauze after deffer period HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from psappdeploytoolkit.