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. Both Restart-Server operations should run any time there is a change detected by PSEnsure. Did you want the first Restart-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.


Log in to reply
 

Inedo Website HomeSupport HomeCode of ConductForums GuideDocumentation