Change execution policy

Welcome Forums General PowerShell Q&A Change execution policy

This topic contains 6 replies, has 5 voices, and was last updated by

 
Participant
2 years, 2 months ago.

  • Author
    Posts
  • #50364

    Participant
    Points: 0
    Rank: Member

    Hi,
    have a question:
    How change execution policy during script run
    I run some script, but before I need change execution policy and in the end change policy back on default
    Example:
    $policy = "Unrestricted"
    if((get-executionpolicy) -ne $policy)
    Set-executionpolicy $policy -force
    next I doing some code here
    and in the end of script I change policy on restricted

    Now, problem when script run it change policy but rest script fail
    but if I re-run script again(since policy already changed on unresticted) it run ok

    How I can make it work?
    Thanks.

  • #50448

    Participant
    Points: 102
    Helping Hand
    Rank: Participant

    Hi Brad,

    You can call the script by setting the ExecutionPolicy for that session like below.

    powershell -ExecutionPolicy Unrestricted script.ps1

    Entire script will run with that policy.

    You can check it in this way

    PS C:\>Set-ExecutionPolicy Restricted -Force
    PS C:\>'Get-ExecutionPolicy' | Out-File ~\TestPolicy.ps1
    PS C:\>powershell -ExecutionPolicy Unrestricted ~\TestPolicy.ps1

    You will get the output as Unrestricted even you had set i t to Restricted.

    Regards,
    Kvprasoon

  • #50477

    Participant
    Points: 0
    Rank: Member

    If you are currently using an Execution Policy that doesn't allow you to run scripts, for whatever reason, you cannot change the policy inside a script since it wouldn't execute. If you can change the policy from within a script, you really don't need to do it.

  • #50480

    Participant
    Points: 10
    Rank: Member

    This affects only the current Windows PowerShell process (window). Run this before your script.

    Set-ExecutionPolicy Unrestricted -Scope Process -Force
  • #50629

    Participant
    Points: 0
    Rank: Member

    I always put this batch file into the same folder as my .ps1 and use it to run my scripts since I get tired of setting the policy whenever I have to go to a new computer.

    @ECHO OFF
    SET ThisScriptsDirectory=%~dp0
    SET PowerShellScriptPath=%ThisScriptsDirectory%RunMev33.ps1
    PowerShell -NoProfile -ExecutionPolicy Unrestricted -Command "";

  • #51367

    Participant
    Points: 0
    Rank: Member

    Thank you every one
    sorry for late update,

    PowerShell -NoProfile -ExecutionPolicy Unrestricted
    this one work for me

    Thanks.

The topic ‘Change execution policy’ is closed to new replies.