Since this question continues to attract responses that are either
refuted by the question body or don't address the actual problem,
**please read this simple summary** of what you need to know:
- **This is *not* a "Why won't my default installation of PowerShell run scripts?" question.**
- **This is *not* a "Why won't my installation of PowerShell run scripts downloaded from the internet?" question.**
- **The question is why the `RemoteSigned` execution policy is preventing script execution when it shouldn't.**
- **`RemoteSigned` is the *only* execution policy I want to use.** I am aware that other, less-restrictive policies are available. If
those policies were acceptable substitutes I would have just used them
instead and this question wouldn't exist.
- **The execution policy is *already* set to `RemoteSigned`.** Changing it from `RemoteSigned` to `RemoteSigned` is not a solution.
- **The script file is created and stored locally.**
- **The script file is not blocked.** The script file was never blocked (see previous point).
- **The script file cannot be unblocked** because there is nothing to unblock (see previous point).
- **The script file is (attempted to be) executed by an administrator.**
- **Windows PowerShell is the only application involved.** Not Windows PowerShell ISE nor Command Prompt nor any other tools or
editors are relevant.
- **The cause of the problem has *already* been identified** (see accepted answer). After nearly 8 years, I think all other obvious
explanations, whether applicable or not, have been posted, too. If
you think otherwise then **please read the question and existing
answers *in their entirety* before adding yours.**
I am using Windows PowerShell 2.0 on 64-bit Windows 7 Professional. I have a script on my desktop that causes the following error when I try to run it:
```
File C:\Users\UserName\Desktop\Script.ps1 cannot be loaded. The file C:\Users\UserName\Desktop\Script.ps1 is not digitally signed. The script will not execute on the system. Please see "get-help about_signing" for more details..
At line:1 char:54
+ C:\Users\UserName\Desktop\TestGetWindowsUpdateLog.ps1 <<<<
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : RuntimeException
```
I am both a domain administrator and a local administrator, and if I run `Get-ExecutionPolicy -List`, I can see that the Group Policy Object I created to configure PowerShell is correctly applying the `RemoteSigned` execution policy at the machine level:
```
Scope ExecutionPolicy
----- ---------------
MachinePolicy RemoteSigned
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined
```
I created the script myself in Notepad, and used the [Sysinternals](https://www.sysinternals.com/)' [Streams](https://learn.microsoft.com/sysinternals/downloads/streams) utility and the File Properties dialog to confirm that the script is not being treated as having come from the internet. If I copy the script to a network share on a domain server, then it's allowed to execute. If I run `Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine` then the local script is still not allowed to execute, which makes sense since the execution policy at the `MachinePolicy` scope will take precedence.
As documented by `about_Execution_Policies`([current](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_execution_policies); [at time of question](https://technet.microsoft.com/library/dd347641.aspx)), the `RemoteSigned` policy means:
-
Scripts can run.
-
Requires a digital signature from a trusted publisher on scripts and configuration files that are downloaded from the Internet
(including e-mail and instant messaging programs).
-
Does not require digital signatures on scripts that you have run and that you have written on the local computer (not downloaded from
the Internet).
-
Risks running unsigned scripts from sources other than the Internet and signed, but malicious, scripts.
My script is not signed, but since it is both created and executed locally, it should satisfy the third bullet point above. Therefore...
- Why is my script not being allowed to run?
- Why does PowerShell complain that my script "is not digitally signed" when that requirement should only apply to files from the Internet?
- Why does PowerShell no longer care about the script not being signed when it's run from a network share?
Pourquoi my locally-created script not allowed to exécuter under the RemoteSigned execution policy?
Re: Pourquoi my locally-created script not allowed to exécuter under the RemoteSigned execution policy?
Some things to check:
Can you change to unrestricted?
```
Set-ExecutionPolicy Unrestricted
```
Is the group policy set?
- `Computer Configuration\Administrative Templates\Windows Components\Windows PowerShell`
- `User Configuration\Administrative Templates\Windows Components\Windows PowerShell`
Also, how are you calling Script.ps1?
Does this allow it to run?
```
powershell.exe -executionpolicy bypass -file .\Script.ps1
```
Can you change to unrestricted?
```
Set-ExecutionPolicy Unrestricted
```
Is the group policy set?
- `Computer Configuration\Administrative Templates\Windows Components\Windows PowerShell`
- `User Configuration\Administrative Templates\Windows Components\Windows PowerShell`
Also, how are you calling Script.ps1?
Does this allow it to run?
```
powershell.exe -executionpolicy bypass -file .\Script.ps1
```