How to Fix Configuration Manager Script is Not Signed Error 0x87D00327. When using the PowerShell feature in Compliance Settings to run a script, the client may return errors with a description of “Script is not signed“. Below is an example of a baseline deployment status where clients are returning errors.
Solution
This is due to the current execution policy for PowerShell on client machines. In the Client Settings, under Computer Agent, there is an option to configure the PowerShell execution policy. The only pitfall here is that it means something different than someone might think. These are the options:
- Bypass: The ConfigMgr client bypasses the PowerShell configuration on the local system so that unsigned scripts can run.
- Restricted (default in ConfigMgr 2012): The ConfigMgr client uses the current PowerShell configuration on the local system, which determines whether, or not, unsigned scripts can run.
- All Signed (default in ConfigMgr 2012 SP1): The ConfigMgr client runs scripts only if they are signed by a trusted publisher and applied independently from the current PowerShell configuration on the local system.
1. Open SCCM Console, click “Administration” and go to “Client Settings“;
2. Select settings and click “Properties” in the upper menu or Right Mouse Button click and select “Properties“;
3. Go to “Computer Agent“;
4. Scroll down and find the option “PowerShell execution policy” – set “Bypass” and click “OK“;
The best places to look at the results are the log files. In this case, there is no log file that shows the current setting of the PowerShell execution policy. So the best place to look at that is the Policy Spy. In this case, it will show PowerShellExecutionPolicy = 1 as a setting under, Machine \ CCM_ClientAgentConfig. The meaning of the different possible values are:
- 0 = All signed
- 1 = ByPass
- 2 = Restricted
This worked great. Thank you!