Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
How does executionPolicy actually work?
-
The executionPolicy within a block seems to be ignored.
I have a module defined as:
module X { { with executionPolicy = always { Restart-Server(); } PSEnsure { .. removed to brevity ... } Execute-PowerShell dir ( ); { Execute-PowerShell dir (); } with executionPolicy=onChange { Restart-Server() } } }
In testing, the first Restart-Server never executes. I am working under the assumption it should
always
execute.The first Execute-PowerShell dir -- executes only if the PSEnsure finds a change. This is expected.
The second Execute-PowerShell dir -- never executes, even when PSEnsure finds a change. Shouldn't a nested scope also be included in the change execution?
The second Restart-Server never executes.
Based on these results, it seems that executionPolicy has no discernible effect. How does executionPolicy actually work?
Product: Otter
Version: 2.0.12
-
Yes, it looks like the second
Execute-PowerShell
should run as well. It could be a bug - we'll look into that.I don't think
executionPolicy
should have any effect in this script - non-ensure operations only execute if any drift is detected regardless of execution policy. BothRestart-Server
operations should run any time there is a change detected by PSEnsure. Did you want the firstRestart-Server
to run even if there are no changes?
-
I've reread the documentation for Execution Modes. I believe I have a better understanding of executionPolicy's purpose now.