I'm building some servers and need to run some powershell scripts on them. However, I need to run the command Set-ExecutionPolicy -ExecutionPolicy remotesigned -Force manually on every server. Because I can't set execution policy in a script. I want to know where PowerShell save the execution policy setting and want to directly change it. Is that possible?
Thanks.
ExecutionPolicy is not a single setting stored in a single place. There are multiple scopes of ExecutionPolicy which are each set and stored differently. Run Get-ExecutionPolicy -List to see all the different scopes.
Using ProcMon to monitor what keys are being read/written when getting/setting the different scopes, I came up with this list:
HKLM\Software\Policies\Microsoft\Windows\PowershellHKEY_CURRENT_USER\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell [ExecutionPolicy] Note you could set this for a particular user (i.e. besides current user) via HKEY_USERSHKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell [ExecutionPolicy] This is the default scope when running Set-ExecutionPolicy.See http://technet.microsoft.com/en-US/library/dd347641.aspx and http://go.microsoft.com/fwlink/?LinkID=113394
HKLM\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell key name is ExecutionPolicy (type: REG_SZ). the value should be, in your case, RemoteSigned.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With