如何从外部获取Powershell执行策略

How to get Powershell execution policy externally

我需要在不使用 powershell 本身的情况下找出 powershell(版本 4 和 5+)执行策略

我试图查看注册表 - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell

我在两个键中找到了 ExecutionPolicy 值,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell 和 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ScriptedDiagnostics

第一个对应于通过执行 Get-ExecutionPolicy cmdlet 给出的策略,但在我们环境中的某些服务器上缺少该值。有没有其他 100% 可靠的方法来检查策略而不使用 Powershell 本身?

没有键等于 未定义

如果所有scope的执行策略都是Undefined,有效的执行策略是Restricted,这是默认的执行策略。

x64

当前用户

HKCU\Software\Microsoft\PowerShell\ShellIds\Microsoft.PowerShell : ExecutionPolicy

本地计算机

HKLM\SOFTWARE\Microsoft\PowerShell\ShellIds\Microsoft.PowerShell : ExecutionPolicy

x86

本地计算机

HKLM\SOFTWARE\WOW6432Node\Microsoft\PowerShell\ShellIds\Microsoft.PowerShell : ExecutionPolicy

机器策略

HKLM\Software\WOW6432Node\Policies\Microsoft\Windows\PowerShell : ExecutionPolicy

用户政策

HKCU\Software\Policies\Microsoft\Windows\PowerShell : ExecutionPolicy