PowerShell on Windows 7: Set-ExecutionPolicy for regular users

powershell, windows-7

Solution

If you (or a helpful admin) runs `Set-ExecutionPolicy` as administrator, the policy will be set for all users. (I would suggest "remoteSigned" rather than "unrestricted" as a safety measure.)

NB.: On a 64-bit OS you need to run `Set-ExecutionPolicy` for 32-bit and 64-bit PowerShell separately.

Problem

I want to run PowerShell scripts on Windows 7 as a regular user. Whenever I try, I get the following error: ``` File C:\Users\danv\Documents\WindowsPowerShell\profile.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details. At line:1 char:2 + . <<<< 'C:\Users\danv\Documents\WindowsPowerShell\profile.ps1' + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException ``` Attempting to solve via `Set-ExecutionPolicy Unrestricted` fails: ``` PS C:\Users\danv> Set-ExecutionPolicy Unrestricted Set-ExecutionPolicy : Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell' is denied. At line:1 char:20 + Set-ExecutionPolicy <<<< Unrestricted + CategoryInfo : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand ``` I can run the `Set-ExecutionPolicy Unrestricted` command as administrator, but this doesn't seem to propagate to non-administrator users. How can I successfully run scripts as a non-administrator?

Original source

Related problems