Win powershell执行策略配置

参考连接:https://blog.csdn.net/jeffxu_lib/article/details/84710386

参考连接:http://www.cragsman.org/index.php?m=content&c=index&a=show&catid=92&id=322

   

以下命令获取当前执行策略:

Get-ExecutionPolicy

若要获取影响当前会话的所有执行策略,并按优先顺序显示它们,请键入

Get-ExecutionPolicy -List

执行策略更改

Set-ExecutionPolicy ALLSIGNED

   

   

   

   

Windows PowerShell 执行策略如下所示:

   

默认执行策略为"Restricted"。

   

RESTRICTED

- Windows 8、Windows Server 2012 和 Windows 8.1 中的默认执行策略。

   

- 允许单独的命令,但不会运行脚本。

   

- 阻止所有脚本文件的运行,包括格式设置文件和配置文件 (.ps1xml)、模块脚本文件 (.psm1) 和 Windows PowerShell 配置文件 (.ps1)。

   

ALLSIGNED

- 脚本可以运行。

   

- 要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。

   

- 会在运行来自某类发布者(即你尚未归类为受信任或不受信任的发布者)的脚本之前提示你。

   

- 存在运行已签名但却是恶意的脚本的风险。

   

   

REMOTESIGNED

- 脚本可以运行。这是 Windows Server 2012 R2 中的默认执行策略。

   

- 要求从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)具有受信任的发布者的数字签名。

   

- 不要求你在本地计算机上编写的脚本(不是从 Internet 下载的)具有数字签名。

   

- 如果脚本已被取消阻止(比如通过使用 Unblock-File cmdlet),则运行从 Internet 下载但未签名的脚本。

   

- 存在运行来自 Internet 之外的源的未签名脚本和已签名但却是恶意的脚本的风险。

   

   

UNRESTRICTED

- 未签名的脚本可以运行。(这存在运行恶意脚本的风险。)

   

- 在运行从 Internet 下载的脚本和配置文件之前提醒用户。

   

   

BYPASS

- 不阻止任何内容,并且没有任何警告或提示。

   

- 该执行策略旨在用于后述配置:在其中 Windows PowerShell 被内置于一个更大的应用程序中,或者在其中 Windows PowerShell 是具有其自己安全模式的程序的基础。

   

   

UNDEFINED

- 当前作用域中未设置执行策略。

   

- 如果所有作用域中的执行策略都是 Undefined,则有效的执行策略是 Restricted,它是默认执行策略。

   

   

注意:在不区分通用命名约定 (UNC) 路径和 Internet 路径的系统上,可能不允许使用 RemoteSigned 执行策略运行由 UNC 路径标识的脚本。

   

   

   

执行策略作用域

   

你可以设置仅在某个特定作用域中有效的执行策略。

   

Scope 的有效值为 Process、CurrentUser 和 LocalMachine。设置执行策略时,LocalMachine 是默认值。

   

按优先顺序列出这些 Scope 值。

   

- PROCESS

执行策略仅影响当前会话(当前 Windows PowerShell 进程)。

   

执行策略存储在 $env:PSExecutionPolicyPreference 环境变量中,不是存储在注册表中,并且当关闭会话时会删除它。不能通过编辑变量值来更改策略。

   

- CURRENTUSER

执行策略仅影响当前用户。它存储在 HKEY_CURRENT_USER 注册表子项中。

   

- LOCALMACHINE

执行策略会影响当前计算机上的所有用户。它存储在 HKEY_LOCAL_MACHINE 注册表子项中。

   

优先的策略在当前会话中有效,即使在较低优先级上设置了更加严格的策略。

   

有关详细信息,请参阅 Set-ExecutionPolicy。

   

   

   

获取你的执行策略

   

若要获取在当前会话中有效的 Windows PowerShell 执行策略,则使用 Get-ExecutionPolicy cmdlet。

   

以下命令获取当前执行策略:

   

   

   

Get-ExecutionPolicy

   

   

若要获取影响当前会话的所有执行策略,并按优先顺序显示它们,请键入:

   

   

   

Get-ExecutionPolicy -List

   

结果将类似于下面的示例输出:

   

   

   

Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine AllSigned

   

在这种情况下,有效的执行策略是 RemoteSigned,因为当前用户的执行策略优先于为本地计算机设置的执行策略。

   

若要获取为某个特定作用域设置的执行策略,请使用 Get-ExecutionPolicy 的 Scope 参数。

   

例如,以下命令获取当前用户作用域的执行策略。

   

   

   

Get-ExecutionPolicy -Scope CurrentUser

   

   

原文地址:https://www.cnblogs.com/withfeel/p/14275527.html