精华内容
下载资源
问答
  • 选择和设置PowerShell执行策略

    千次阅读 2020-07-16 04:37:51
    开发PowerShell执行策略是为了使管理员友好,同时使最终用户可以访问。 考虑到便利性通常与安全性成反比,与前者相比,后者的目标在实现上更具挑战性。 PowerShell脚本不会立即可用 (PowerShell scripts do not run...

    The PowerShell execution policy was developed with a vision to be friendly to administrators, and at the same time, be accessible to end users. More than the former, the latter goal was a little challenging to pull off, considering that convenience is, more often than not, inversely proportional to security.

    开发PowerShell执行策略是为了使管理员友好,同时使最终用户可以访问。 考虑到便利性通常与安全性成反比,与前者相比,后者的目标在实现上更具挑战性。

    PowerShell脚本不会立即可用 (PowerShell scripts do not run out of the box)

    There have been times when malicious VBS (Visual Basic Script) files, disguised as helpful pieces of software were shared around as emails. Unsuspecting users double-clicked the script files, and fell victims to scams as small as letting the creator of the script know you ran the script, to as disastrous as giving the creator of the script complete control over your computer.

    有时候,伪装成有用软件的恶意VBS(Visual Basic Sc​​ript)文件被作为电子邮件共享。 毫无戒心的用户双击脚本文件,使受害者成为骗局的受害者,其骗局小到让脚本的创建者知道您运行了脚本,而灾难性的是,使脚本的创建者完全控制了您的计算机。

    There were two major flaws in the aforementioned model:

    上述模型有两个主要缺陷:

    • Double-clicking the script would run the script. There was no need to open the script to read it before running it

      双击脚本将运行该脚本。 在运行脚本之前,无需打开脚本即可读取脚本
    • All scripts from anywhere could run

      任何地方的所有脚本都可以运行

    The PowerShell execution policy addresses the first by not loading the PowerShell engine to run the script. The script, under default configuration, opens in Notepad—not even in PowerShell Integrated Scripting Environment. (If the script opened in the PowerShell ISE, it is still easy to run the script by hitting the F5 key.) Opening the script in Notepad is benign; to run the script, the user would have to make considerable effort.

    PowerShell执行策略通过不加载PowerShell引擎来运行脚本来解决第一个问题。 在默认配置下,该脚本在记事本中打开,甚至在PowerShell Integrated Scripting Environment中也不打开。 (如果脚本是在PowerShell ISE中打开的,则仍然可以通过按F5键来运行该脚本。)在记事本中打开该脚本是无害的;否则,请单击“确定”。 要运行脚本,用户将不得不付出很大的努力。

    Even if the user manages to right-click on the script and selects Run with PowerShell, or loads up PowerShell ISE and hits the F5 key, you would get an error:

    即使用户设法右键单击该脚本并选择“使用PowerShell运行”,或加载PowerShell ISE并按F5键,您也会收到错误消息:

    File C:\Users\Prashanth\Downloads\RandomInternetScript.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see “get-help about_signing” for more details.

    无法加载文件C:\ Users \ Prashanth \ Downloads \ RandomInternetScript.ps1,因为在此系统上禁用了脚本的执行。 请参阅“获得有关about_signing的帮助”以了解更多详细信息 。

    介绍PowerShell执行策略 (Introducing PowerShell Execution Policies)

    You may hear that the PowerShell execution policies are a security feature; it is not. The PowerShell Execution Policies are a safety belt in PowerShell, like a child lock in cars. The PowerShell Execution Policies are the child lock on your computer, that protects the non-PowerShell-savvy end users from inadvertently harming themselves. It does not necessarily protect the system, but makes one jump through a few hoops to do something potentially dangerous.

    您可能会听说PowerShell执行策略是一项安全功能。 它不是。 PowerShell执行策略是PowerShell中的安全带,就像汽车中的儿童锁一样。 PowerShell执行策略是计算机上的子锁,可保护不懂PowerShell的最终用户免于无意中伤害自己。 它不一定保护系统,但是会跳几圈来做潜在危险的事情。

    PowerShell is very powerful. Its access goes straight into the computer. From the system administration standpoint—starting from fetching/setting the date and installing/uninstalling applications—there is hardly anything that PowerShell cannot do. Apart from managing Windows workstations and servers, PowerShell is extensively used with other applications and systems as well, such as Microsoft Exchange, Citrix XenApp and Nutanix HCI, to name a few.

    PowerShell非常强大。 它的访问权直接进入计算机。 从系统管理的角度(从获取/设置日期以及安装/卸载应用程序开始),PowerShell几乎无法做任何事情。 除管理Windows工作站和服务器外,PowerShell还广泛用于其他应用程序和系统,例如Microsoft Exchange,Citrix XenApp和Nutanix HCI。

    不同的PowerShell执行策略 (The different PowerShell Execution Policies)

    PowerShell execution policies are several. They are set at different levels to control how the computer behaves with PowerShell scripts. Microsoft’s own documentation will give you a good picture of the different execution policies (or you can run Get-Help about_Execution_Policies to know more about these policies).

    PowerShell执行策略有几种。 将它们设置在不同的级别,以控制计算机如何使用PowerShell脚本运行。 Microsoft自己的文档将为您提供不同执行策略的概览(或者您可以运行Get-Help about_Execution_Policies以了解有关这些策略的更多信息)。

    Note: At the moment of writing this article, PowerShell Execution Policies can be set only on Windows computers. PowerShell on non-Windows computers will still show the Execution-Policy-related cmdlets, but the policies set on non-Windows computers will have no effect on how PowerShell behaves on those computers.

    注意: 在撰写本文时,只能在Windows计算机上设置PowerShell执行策略。 非Windows计算机上的PowerShell仍将显示与执行策略相关的cmdlet,但是在非Windows计算机上设置的策略将不会对PowerShell在这些计算机上的行为产生影响。

    Here is a gist of the different PowerShell execution policies and what they mean:

    以下是不同的PowerShell执行策略及其含义的要点:

    受限制的 (Restricted)

    PowerShell ships with Restricted set as the default execution policy, starting Windows Server 2012 (or Windows 8). Therefore, you cannot run a script right out of the box, unless you change the policy to something else before.

    PowerShell随Windows Server 2012(或Windows 8)一起将“ 受限”设置为默认执行策略。 因此,除非立即将策略更改为其他内容,否则不能立即运行脚本。

    You can run individual commands on the PowerShell console, though. Even scripts written by you cannot run with this policy set on your computer.

    不过,您可以在PowerShell控制台上运行单个命令。 即使您编写的脚本也无法在计算机上设置此策略的情况下运行。

    全部签名 (AllSigned)

    This is the safest policy available, in case running scripts is permitted on the computer. With this policy set, your computer will run those PowerShell scripts that are accompanied by a valid signed with a valid digital signature (signed using a code signing certificate).

    如果计算机上允许运行脚本,则这是最安全的策略。 设置了此策略后,您的计算机将运行这些PowerShell脚本,并附有带有有效数字签名(使用代码签名证书签名)的有效签名。

    The certificate used to sign the script should be trusted by your computer. Otherwise, the script will not run. It also means that scripts that are tampered with after being digitally signed will not run either.

    您的计算机应信任用于签署脚本的证书。 否则,脚本将无法运行。 这也意味着经过数字签名后被篡改的脚本也不会运行。

    This condition also applies to scripts that you wrote, even on the computer that you are trying to run the script on.

    此条件也适用于您编写的脚本,即使在您尝试在其上运行脚本的计算机上也是如此。

    This is a safe PowerShell Execution policy to set in any enterprise environment. The certificate could have been issued by your domain’s certification authority, or from an external certification authority like Verisign or Thawte.

    这是可以在任何企业环境中设置的安全PowerShell执行策略。 该证书可能是由您域的证书颁发机构颁发的,也可能是由外部证书颁发机构颁发的,例如Verisign或Thawte。

    远程签名 (RemoteSigned)

    This is also a safe PowerShell Execution policy to set in an enterprise environment. This policy dictates that any script that was not created on the system that the script is running on, should be signed. Therefore, this will allow you to write your own script and execute it. You would not be able to run a script that was downloaded from the Internet, or got from a friend who wrote it under his account or on a different computer. PowerShell differentiates between script you wrote on that computer, and a script that came from elsewhere using the file metadata.

    这也是在企业环境中设置的安全PowerShell执行策略。 该策略规定,应在运行脚本的系统上未创建的任何脚本进行签名。 因此,这将允许您编写自己的脚本并执行它。 您将无法运行从Internet下载的脚本,或者从以他的帐户或在另一台计算机上编写该脚本的朋友那里获得的脚本。 PowerShell区分您在该计算机上编写的脚本和使用文件元数据从其他位置来的脚本。

    无限制 (Unrestricted)

    This policy is unsafe in any environment, and should be applied only when you know what you are doing. Also, keep in mind the scope at which you set this policy. More on this later in the post.

    此策略在任何环境中都是不安全的,仅当您知道自己在做什么时才应应用。 另外,请记住设置此策略的范围。 有关更多信息,请参见后面的内容。

    The Unrestricted Execution Policy lets you run PowerShell scripts without any restrictions.

    不受限制的执行策略使您可以不受限制地运行PowerShell脚本。

    旁路 (Bypass)

    This policy is best avoided. This policy should be used only in those cases where you have an alternative authorization mechanism already in place, and you do not want PowerShell to interfere with the execution.

    最好避免使用此策略。 仅当您具有备用授权机制并且不希望PowerShell干扰执行时,才应使用此策略。

    未定义 (Undefined)

    Setting the Execution Policy to Undefined will remove policy restriction at the scope/level in/at which you run Set-ExecutionPolicy Undefined. However, remember that setting the Execution Policy to Undefined at all levels would lead PowerShell to set the machine policy as Restricted, which is the default.

    将执行策略设置为未定义将在您运行Set-ExecutionPolicy未定义的范围/级别上删除策略限制。 但是,请记住,在所有级别将执行策略都设置为“未定义”会导致PowerShell将计算机策略设置为“受限”,这是默认设置。

    执行策略优先 (Precedence of Execution Policies)

    A very important point to remember with PowerShell Execution Policies is the scopes at which the policies can be set. Here are the different scopes at which you can set an Execution Policy:

    使用PowerShell执行策略要记住的非常重要的一点是可以设置策略的范围。 您可以在这里设置执行策略的不同范围:

    • Process
    • 处理
    • CurrentUser
    • 当前用户
    • LocalMachine
    • 本地机器

    The Execution Policies set at CurrentUser and LocalMachine levels are stored in the registry. Let’s take a look at how applying a PowerShell Execution Policy at the local machine level changes the values in the registry. First, here is what the status is when the Execution Policy is Undefined:

    在CurrentUser和LocalMachine级别设置的执行策略存储在注册表中。 让我们看一下如何在本地计算机级别应用PowerShell执行策略如何更改注册表中的值。 首先,这是未定义执行策略时的状态:

    the status is when the Execution Policy is Undefined

    Now, we set the PowerShell Execution Policy at the local machine level, to AllSigned.

    现在,我们在本地计算机级别将PowerShell执行策略设置为AllSigned 。

    we set the Execution Policy at the local machine level, to AllSigned

    And now, we reset the PowerShell Execution Policy.

    现在,我们重置了PowerShell执行策略。

    reset the Execution Policy

    The PowerShell Execution Policy set on Process is stored in the memory (RAM), and is valid for as long as the PowerShell process on which the policy was set, is active. On a newly-opened PowerShell session, the resultant policy will be that set on CurrentUser.

    在进程上设置的PowerShell执行策略存储在内存(RAM)中,并且只要设置了该策略的PowerShell进程处于活动状态,它就一直有效。 在新打开的PowerShell会话上,生成的策略将是在CurrentUser上设置的策略。

    The Execution Policy set on Process has the highest precedence. Therefore, the policy you set on Process will override those policies set at the CurrentUser and LocalMachine levels. By default, the PowerShell Execution Policy set on Process is Undefined. Therefore, the policy set on CurrentUser is applied to the process.

    在“ 进程”上设置的执行策略具有最高优先级。 因此,您在Process上设置的策略将覆盖CurrentUser和LocalMachine级别上设置的那些策略。 默认情况下,在Process上设置的PowerShell执行策略为Undefined 。 因此,在CurrentUser上设置的策略将应用于该过程。

    If the CurrentUser does not have any policy set (in other words, the PowerShell Execution Policy set on CurrentUser is Undefined), the policy set on LocalMachine will be applied to CurrentUser, which will subsequently flow to Process, unless there is an override at the Process level.

    如果CurrentUser没有任何策略集(换句话说,在CurrentUser上设置的PowerShell执行策略为Undefined ),则在LocalMachine上设置的策略将应用于CurrentUser ,随后它将流向Process ,除非在流程级别。

    If there is no policy set at CurrentUser, LocalMachine or Process, the default PowerShell Execution Policy of Restricted will apply from PowerShell itself.

    如果在CurrentUser , LocalMachine或Process上未设置任何策略,则默认的PowerShell执行策略Restricted将从PowerShell本身应用。

    获取作用域列表 (Getting a list of scopes)

    To get a list of the available scopes at which you can set PowerShell Execution Policy levels, run the following command:

    要获取可用于设置PowerShell执行策略级别的可用作用域的列表,请运行以下命令:

    Get-ExecutionPolicy -List
    

    You would see an output similar to the following (also, as said before, notice the resultant PowerShell execution policy in spite of the policy being Undefined at all scopes):

    您将看到类似于以下的输出(同样,如前所述,尽管在所有作用域中都未定义策略,但请注意生成的PowerShell执行策略):

    To get a list of the available scopes at which you can set PowerShell Execution Policies, run the follow-ing command:
Get-ExecutionPolicy -List

    You see two additional scopes compared to those mentioned in Precedence of Execution Policies. These are based on the Execution Policies set using Group Policies. We will get to that in the section, Setting an appropriate Execution Policy. The scopes shown here also indicate the precedence.

    与执行策略优先级中提到的范围相比,您看到了两个其他范围。 这些基于使用组策略设置的执行策略。 我们将在“设置适当的执行策略”部分中进行介绍。 此处显示的范围也表示优先级。

    The policy set at the MachinePolicy level using a group policy will take ultimate precedence. Therefore, if a user tries to override the Execution Policy of AllSigned set at MachinePolicy level, the policy he sets would be applied to CurrentUser, which will be overridden by MachinePolicy.

    使用组策略在MachinePolicy级别设置的策略将具有最终优先权。 因此,如果用户尝试覆盖MachinePolicy级别设置的AllSigned的执行策略,则他设置的策略将应用于CurrentUser,它将被MachinePolicy覆盖。

    PowerShell Execution Policies cannot be set at MachinePolicy or UserPolicy levels from the console; they have to be done using Group Policies. If you try to set an execution policy at these scopes from the PowerShell console, you would get an error:

    无法从控制台在MachinePolicy或UserPolicy级别上设置PowerShell执行策略。 它们必须使用组策略来完成。 如果尝试从PowerShell控制台在这些作用域中设置执行策略,则会收到错误消息:

    Set-ExecutionPolicy : Cannot set execution policy. Execution policies at the MachinePolicy or UserPolicy scopes must be set through Group Policy.

    Set-ExecutionPolicy:无法设置执行策略。 必须通过组策略设置MachinePolicy或UserPolicy范围内的执行策略。

    If you try to set an execution policy at these scopes from the PowerShell console, you would get an error

    设置适当的PowerShell执行策略 (Setting an appropriate PowerShell Execution Policy)

    Now that we know the different execution policies, the different scopes that they can be set at, and how PowerShell determines the resultant execution policy, we should be able to set an PowerShell Execution Policy appropriate for our environment.

    既然我们知道了不同的​​执行策略,可以设置的不同作用域以及PowerShell如何确定结果执行策略,我们应该能够设置适合我们环境的PowerShell执行策略。

    If I were to share my recommendation, I would set, on an environment that has adequate security measures applied to it at the perimeter and within the environment itself, the following:

    如果我要分享我的建议,我将在一个在外围和环境本身内应用了足够安全措施的环境中,设置以下各项:

    1. Set up Active Directories Organisational Units appropriately; separate administrators from end users

      适当设立活动目录组织单位; 将管理员与最终用户分开
    2. Generate a code signing certificate (from your Internal CA, preferably) for those who write PowerShell scripts in your environment

      为在您的环境中编写PowerShell脚本的人员生成代码签名证书(最好从内部CA生成)
    3. Ensure the certificates you generate for these script-writers is trusted in your environment

      确保您为这些脚本编写器生成的证书在您的环境中受信任
    4. Implement a process in place that every script that will be used for administration must be signed by the respective script-writer

      实施适当的过程,以确保每个将用于管理的脚本必须由相应的脚本编写者签名
    5. Apply the AllSigned policy at the UserPolicy level using Group Policy
    6. 使用组策略在UserPolicy级别应用AllSigned策略
    7. Apply an appropriate policy at the MachinePolicy level for the computers that will be used to test scripts. This should preferably be a separate, sandboxed environment
    8. 在MachinePolicy级别上为将用于测试脚本的计算机应用适当的策略。 最好是在单独的沙盒环境中
    9. Ensure that only those trusted individuals, who know what they’re doing, have access to log into these test computers in the sandboxed environment

      确保只有知道自己在做什么的那些受信任的个人才能访问沙盒环境中的这些测试计算机。

    Of course, this is a recommendation. As an Enterprise Administrator, you should have a good understanding of what is best for your environment. The goal of this article is to explain what the group policies are, and explain what the scopes are, by means of a deep-dive look at the different aspects concerning Execution Policies in PowerShell.

    当然,这是一个建议。 作为企业管理员,您应该对什么最适合您的环境有很好的了解。 本文的目的是通过深入研究PowerShell中与执行策略有关的不同方面来解释组策略是什么,并解释范围是什么。

    I hope this article helps you with your decision-making on setting an appropriate PowerShell Execution Policy in your enterprise environment. If you have any questions or would like to share your thoughts or experiences with respect to PowerShell Execution Policy, post your comments below!

    我希望本文有助于您在企业环境中设置适当的PowerShell执行策略的决策。 如果您有任何疑问或想分享有关PowerShell执行策略的想法或经验,请在下面发表您的评论!

    目录 (Table of contents)

    DBATools PowerShell Module for SQL Server
    PowerShell SQL Server Validation Utility – DBAChecks
    Choosing and Setting a PowerShell Execution Policy
    适用于SQL Server的DBATools PowerShell模块
    PowerShell SQL Server验证实用程序– DBAChecks
    选择和设置PowerShell执行策略

    翻译自: https://www.sqlshack.com/choosing-and-setting-a-powershell-execution-policy/

    展开全文
  • PowerShell的四种执行策略

    千次阅读 2020-06-19 09:27:03
    文章目录一、执行策略二、策略操作2.1 查看当前策略2.2 修改当前策略 一、执行策略 名称 说明 Restricted 禁止运行任何脚本和配置文件(默认) AllSigned 可以运行脚本,但要求所有脚本和配置文件由可信...

    一、执行策略

    名称说明
    Restricted禁止运行任何脚本和配置文件(默认)
    AllSigned可以运行脚本,但要求所有脚本和配置文件由可信发布者签名,包括在本地计算机上编写的脚本
    RemoteSigned可运行脚本,但要求从网络上下载的脚本和配置文件由可信发布者签名;不要求对已经运行和本地计算机编写的脚本进行数字签名
    Unrestricted可以运行未签名的脚本

    二、策略操作

    2.1 查看当前策略

    在这里插入图片描述
    当策略如上边时执行脚本会报错
    在这里插入图片描述

    2.2 修改当前策略

    以管理员身份运行PowerShell
    在这里插入图片描述
    将执行策略修改为RemoteSigned
    在这里插入图片描述

    展开全文
  • Windows powershell 执行策略的调整

    千次阅读 2018-12-02 15:05:34
    一、Windows PowerShell 执行策略允许你确定 Windows PowerShell 加载配置文件并运行脚本的条件。 你可以为本地计算机、当前用户或某个特定的会话设置执行策略。也可以使用组策略设置为计算机和用户设置执行策略。 ...

    一、Windows PowerShell 执行策略允许你确定 Windows PowerShell 加载配置文件并运行脚本的条件。

    你可以为本地计算机、当前用户或某个特定的会话设置执行策略。也可以使用组策略设置为计算机和用户设置执行策略。

    本地计算机和当前用户的执行策略存储在注册表中。无需在 Windows PowerShell 配置文件中设置执行策略。某个特定会话的执行策略仅存储在内存中,当关闭会话时,该执行策略会丢失。

    执行策略不是限制用户操作的安全系统。例如,当用户无法运行脚本时,可以通过在命令行键入脚本内容轻松绕过策略。相反,执行策略帮助用户设置基本规则并阻止他们无意中违反规则。

    二、Windows PowerShell 执行策略如下所示:

    默认执行策略为“Restricted”。

    1、当执行策略为 Restricted 时:

    •  win8 ,win10 中默认执行 Restricted 的策略。
    •  允许单独的命令,但不会运行脚本。
    • 阻止所有脚本文件的运行。包括格式设置文件和配置文件 (.ps1xml)、模块脚本文件 (.psm1) 和 Windows PowerShell 配置文件 (.ps1)。

    2、当执行策略为 AllSigned 时:

    •  脚本可以运行。
    • 要求所有脚本和配置文件都由受信任的发布者签名,包括在本地计算机上编写的脚本。
    • 会在运行来自某类发布者(即你尚未归类为受信任或不受信任的发布者)的脚本之前提示你。
    • 存在运行已签名但却是恶意的脚本的风险。

    3、当执行策略为 REMOTESIGNED 时:

    • 脚本可以运行。
    • 要求从 Internet 下载的脚本和配置文件(包括电子邮件和即时消息程序)具有受信任的发布者的数字签名。
    • 不要求你在本地计算机上编写的脚本(不是从 Internet 下载的)具有数字签名。
    • 如果脚本已被取消阻止(比如通过使用 Unblock-File cmdlet),则运行从 Internet 下载但未签名的脚本。
    • 存在运行来自 Internet 之外的未签名脚本和已签名但却是恶意的脚本的风险。

    4、当执行策略为 UNRESTRICTED 时:

    • 未签名的脚本可以运行。(这存在运行恶意脚本的风险。)
    • 在运行从 Internet 下载的脚本和配置文件之前提醒用户。

    5、当执行策略为 BYPASS 时:

    • 不阻止任何内容,并且没有任何警告或提示。
    • 该执行策略旨在用于后述配置:在其中 Windows PowerShell 被内置于一个更大的应用程序中,或者在其中 Windows PowerShell 是具有其自己安全模式的程序的基础。

    6、当执行策略为 UNDEFINED 时:

    • 当前作用域中未设置执行策略。
    • 如果所有作用域中的执行策略都是 Undefined,则有效的执行策略是 Restricted,它是默认执行策略。
    • 注意:在不区分通用命名约定 (UNC) 路径和 Internet 路径的系统上,可能不允许使用 RemoteSigned 执行策略运行由 UNC 路径标识的脚本。

    三、执行策略作用域:

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

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

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

    1、 PROCESS

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

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

    2、CURRENTUSER

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

    3、LOCALMACHINE

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

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

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

    四、获取你的执行策略:

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

    1、获取当前执行策略的命令: Get-ExecutionPolicy

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

              输出的结果类似如下:

             

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

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

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

                 Get-ExecutionPolicy -Scope CurrentUser

    五、执行策略的更改:

    1、若要更改你计算机上的 Windows PowerShell 执行策略,请使用: Set-ExecutionPolicy cmdlet

           更改会立即生效,你无需重新启动 Windows PowerShell。

    (1)、如果你设置本地计算机(默认)或当前用户的执行策略,更改会保存在注册表中,并且在再次更改之前会保持有效。

    (2)、如果你设置当前进程的执行策略,则更改不会保存在注册表中。它会保留,直到关闭当前进程和任何子进程。

    注意:在 Windows Vista 和 Windows 的更高版本中,若要运行更改本地计算机(默认)的执行策略的命令,请使用“以管理员身份运行”选项启动 Windows PowerShell。

    2、若要更改你的执行策略,请键入:

            Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

    如:Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

    3、若要设置某个特定作用域中的执行策略,请键入:

            Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>

    如:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

    4、更改执行策略的命令会成功,但有可能仍然不会更改有效的执行策略。

    例如,用于设置本地计算机的执行策略的命令可能成功,但会被当前用户的执行策略覆盖。

    六、执行策略的删除:

    若要删除某个特定作用域的执行策略,则将执行策略的值设置为 Undefined

         例如,若要删除本地计算机的所有用户的执行策略,请键入:

                            Set-ExecutionPolicy Undefined

        或者键入:Set-ExecutionPolicy Undefined -scope LocalMachine

    如果未在任何作用域中设置执行策略,则有效的执行策略是 Restricted,它是默认执行策略。

    七、为某个会话设置一个不同的执行策略:

    你可以使用 PowerShell.exe 的 ExecutionPolicy 参数为新的 Windows PowerShell 会话设置执行策略。策略仅影响当前会话和子会话。

    若要设置新会话的执行策略,则在命令行(比如 Cmd.exe 或 Windows PowerShell)启动 Windows PowerShell,然后使用 PowerShell.exe 的 ExecutionPolicy 参数来设置执行策略。

    例如:PowerShell.exe -ExecutionPolicy AllSigned

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

    在会话期间,为会话设置的执行策略优先于在注册表中为本地计算机或当前用户设置的执行策略。但是,它并不优先于通过使用组策略设置的执行策略。

    八、使用组策略管理执行策略:

    你可以使用“打开脚本执行”组策略设置来管理你企业中的计算机的执行策略。组策略设置覆盖所有作用域中的 Windows PowerShell 中设置的执行策略。

    “打开脚本执行”策略设置如下所示:

    • 如果禁用“打开脚本执行”,则脚本不会运行。这等效于“Restricted”执行策略。
    • 如果启用“打开脚本执行”,则可以选择一个执行策略。组策略设置等效于以下执行策略设置。
    •         
    • 如果未配置“打开脚本执行”,则它将不起作用。在 Windows PowerShell 中设置的执行策略是有效的。

    PowerShellExecutionPolicy.adm 和 PowerShellExecutionPolicy.admx 文件将“打开脚本执行”策略添加到以下路径中组策略编辑器中的计算机配置节点和用户配置节点中。
    For Windows XP and Windows Server 2003: Administrative Templates\Windows Components\Windows PowerShell

    For Windows Vista and later versions of Windows: Administrative Templates\Classic Administrative Templates\ Windows Components\Windows PowerShell

    在计算机配置节点中设置的策略优先于在用户配置节点中设置的策略。

    PowerShell 的管理模版:http://go.microsoft.com/fwlink/?LinkId=131786,参阅“Windows

    九、执行策略优先级:

    在确定会话的有效执行策略时,Windows PowerShell 按以下优先顺序对执行策略进行评估:

    • Group Policy: Computer Configuration
    • Group Policy: User Configuration
    • Execution Policy: Process (or PowerShell.exe -ExecutionPolicy)
    • Execution Policy: CurrentUser
    • Execution Policy: LocalMachine

    十、管理已签名的和未签名的脚本

    如果你的 Windows PowerShell 执行策略是 RemoteSigned,则 Windows PowerShell 将不会运行从 Internet 下载的未经签名的脚本(包括电子邮件和即时消息程序)。

    你可以对脚本进行签名或选择运行未经签名的脚本,而不更改执行策略。

    从 Windows PowerShell 3.0 开始,你可以使用 Get-Item cmdlet 的 Stream 参数来检测被阻止的文件,因为它们是从 Internet 下载的,并且你可以使用 Unblock-File cmdlet 取消阻止脚本以便你可以在 Windows PowerShell 中运行它们。

    有关详细信息,请参阅 about_Signing、Get-Item 和 Unblock-File。

     

     

    展开全文
  • 更改powershell权限 第一步:以管理员身份运行powershell,如何才可以实现呢? 先点击红色,在绿色中输入powershell,再右击鼠标...————红色为查看执行策略官是谁,绿色为执行策略官 第四步:更改执行策略官,输

    更改powershell权限

    第一步:以管理员身份运行powershell,如何才可以实现呢?
    先点击红色,在绿色中输入powershell,再右击鼠标(在蓝色框上),选择“以管理员运行”,此刻打开的就是在以管理员直接运行的powershell
    在这里插入图片描述————以管理员身份打开后就是这样的

    在这里插入图片描述
    第二步:输入npm -v 查看当前版本,当然也可以省略

    第三步:再输入get-executionpolicy 就可以看到当前执行策略 is who
    在这里插入图片描述————红色为查看执行策略官是谁,绿色为执行策略官

    第四步:更改执行策略官,输入 set-ExecutionPolicy RemoteSigned更改执行官为RemoteSigned,此时会给你一个提醒(绿色框)选择 “Y” 就行。
    在这里插入图片描述感觉对你有用的话,请留下你的足迹吧!这是笔者亲自走过的足迹

    展开全文
  • 更改Windows PowerShell 的执行策略

    千次阅读 2020-01-31 21:27:00
    概述: 用powershell创建vue项目时出现报错:当前不...需修改powershell的执行策略解决。 指令: 查询当前执行策略:get-executionpolicy 修改策略为remotesigned即可解决:set-executionpolicy remotesigned ...
  • ORA-28112:无法执行策略函数 可能原因: A.创建策略时相关参数传入错误,比如列名写错 B.策略调用的函数缺失,没有传入参数或传入一个参数 如: create or replace function testfgac return varchar2 ...
  • power shell执行策略

    千次阅读 2018-03-11 21:36:57
    "Restricted"是默认策略。 Restricted - 默认执行策略。 - 允许单个命令运行,但不能运行脚本。 - 阻止所有脚本文件的运行,包括格式和配置文件 (.ps1xml)、模块脚本文件 (.ps...
  • Windows PowerShell 执行策略 ExecutionPolicy

    千次阅读 2018-12-03 15:53:49
    获取当前执行策略:Get-ExecutionPolicy 获取影响当前会话的所有执行策略,并按优先顺序显示:Get-ExecutionPolicy -List 获取当前用户作用域的执行策略:Get-ExecutionPolicy -Scope Curren...
  • powershell的执行策略和绕过

    千次阅读 2019-09-12 20:06:22
    当执行脚本的时候 你可能会在调用的时候出现报错,这是powershell的安全执行策略,下面我们来了解一下执行策略:PowerShell 提供了 Restricted、AllSigned、RemoteSigned、Unrestricted、Bypass、Undefined 六种类型...
  • 自动化用例的执行策略

    千次阅读 2018-11-29 16:50:49
    自动化测试用例的执行策略是要看自动化测试的目的,通常有如下几种策略: 一,自动化测试用例是用来监控的,在此目的下,我们就把自动化测试用例设置成定时执行的,如果每五分钟或是一个小时执行一次, 在jenkins上...
  • misfire: ...4. 任务的串行执行; 如何判断misfire: 通过quartz配置 #激活失败容忍度,只有超过这个容忍度才会判定位misfire org.quartz.jobStore.misfireThreshold=30000 quartz中CornTrigger
  • PowerShell禁止执行策略绕过实践

    千次阅读 2020-02-22 13:08:55
    在Windows中,为了防止使用者允许恶意脚本,PowerShell提供了一个执行策略,在默认情况下这个策略为不能运行。 那我们如何指导运行规则呢? cmd中执行 powershell Get-ExecutionPolicy 这里为Restricted,那其实...
  • power shell执行策略(ExecutionPolicy)

    万次阅读 2017-11-12 09:56:11
    #更新执行策略 Set-ExecutionPolicy <policy-name>#policy-name可能的值 Unrestricted、RemoteSigned、AllSigned、Restricted、Default、Bypass、Undefined#将ExecutionPolicy改为Unrestricted,可以运行未签名的...
  • 有关运行脚本和 设置执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Po licies。 所在位置 行:1 字符: 1 webpack .\src\main.js -o .\dist\bundle.js --mode=...
  • 1,首先要先了解下什么...2,但是要同时保持副本存储策略的容错性和高效性,第一副本:放置在上传文件的DN上(就是执行‘hadoop fs -put 文件名’上传文件命令的机器上,本地文件上传到同一台机器自然要快一点),如...
  • 执行策略的时候被禁止了:  所以可以通过以下策略来查看当前的执行策略:Get-ExecutionPolicy 默认设置为最安全的策略“Restricted”。该设置允许运行单个命令,但不允许运行脚本。我的测试环境的测试是...
  • 然后scott下用户的emp表无法查询 提示错误:ORA-28112: 无法执行策略函数。其他表都可以查询。 确定是审计的问题,原来是我写错语句了 ,⊙﹏⊙b汗 粗心哪 真不该 ! 删除之前的:exec dbms_fga.drop_policy('...
  • PowerShell 执行策略

    千次阅读 2012-03-12 17:50:57
    PowerShell 执行策略 以管理员身份运行 PowerShell,执行 Set-ExecutionPolicy RemoteSigned
  • misfire产生的条件是:到了该触发执行时上一个执行还未完成,且线程池中没有空闲线程可以使用(或有空闲线程可以使用但job设置为@DisallowConcurrentExecution)且过期时间已经超过misfireThreshold就认为是misfire...
  • 首先我们先看看我们的测试执行顺序 Suite Setup === 所有suite的初始化等工作,如果测试中含有不同的suite,每个suite可以不同的setup,setup不是必须的 Test case setup == 每条测试用例前会运行该方法,确认...
  • 集群部署执行器,定时任务选定执行器后,任何一样由选定的执行执行,如果执行器异常、忙碌,定时任务的路由策略不同的处理方式,下面就是实践的内容: 2.集群部署 搭建集群执行器 第一步:配置第一台执行器,在...
  • 自动化测试用例的执行策略是要看自动化测试的目的,通常有如下几种策略: 要确信你的自动化case是有价值的,可以代替你的手动测试  自动化测试,尤其是功能性,也就是说代替手动case的。所以说我们必须确信...
  • CPU的调度策略

    千次阅读 2019-03-14 22:13:16
    今天见到介绍下CPU处理器的调度策略,自己也还在学习中,后期会继续完善补充,有什么不足希望大家多多指教。 ** 首先介绍下CPU调度的相关概念 ** CPU的调度简单来说,就是当前的进程需要进行的OI操作或者时间片结束...
  • 于是问题出现了,用户在使用windows2008时,域策略登录脚本能够正常执行,但是当用户登录到Windows2012的系统上时,域策略脚本无法正常执行。经过排查需要进行以下几项工作,方可...
  • 华为防火墙安全策略

    千次阅读 2020-12-11 10:48:39
    1初识安全策略 小伙伴们,我们试想下如果防火墙把所有流量都拒绝了,内部用户将无法畅游网络,外部合法用户将无法访问内部资源。因此我们需要配置防火墙的一个特性,让它更好的实现防火墙的功能,这个特性就是安全...
  • 在TIM中,创建TAM供应策略,提交执行策略时,遇到错误。HPDMG0769E。 报错信息如下: CTGIMD810E 适配器对 add 请求返回了错误状态。状态码:failure 适配器错误消息:HPDMG0769E There were insufficient LDAP ...
  • 软件测试-制定测试策略

    千次阅读 2016-05-30 18:41:29
    通常的软件测试中,需要制定合理的测试策略来保证...测试策略怎么执行?第一个问题,测试策略可以认为是一种方法论。制定测试策略的最主要原因是为了更高效、更有计划、更有目的测试。测试策略是预先规划好的,又...
  • 如何制定软件测试策略

    千次阅读 2019-07-09 16:28:14
    一个优秀的测试执行应先制定一个好的测试策略,俗话说‘不打没准备的仗’,提前规划好测试策略,可以避免盲目测试,规避测试风险,可以提前捕捉到测试过程中会产生的一些问题,提前解决,大大提高测试效率...
  • java线程池与五种常用线程池策略使用与解析

    万次阅读 多人点赞 2016-07-09 18:23:46
    java线程池与四种常用线程池策略使用与解析 一.线程池 关于为什么要使用线程池久不赘述了,首先看一下java中作为线程池Executor底层实现类的ThredPoolExecutor的构造函数 public ThreadPoolExecutor(int ...
  • 接下来,测试管理者,要做的事情,就是写测试策略了。 在说测试策略之前,先了解下测试的内容。 测试内容 软件测试主要工作内容是验证(verification)和确认(validation),下面分别给出其概念: 验证...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 895,999
精华内容 358,399
关键字:

执行策略