PowerShell 执行策略

news2024/11/15 17:16:27

在使用 SAPIEN 的PowerShell Studio时出现如下错误:

无法在当前系统上运行该脚本。有关运行脚本和设置执行策略的详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
ERROR: 所在位置 行:1 字符: 2
ERROR: + &"C:\ProgramData\SAPIEN\Help Data\PowerShell Studio\ComputerPrompt\Co ...
ERROR: +  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR:     + CategoryInfo          : SecurityError: (:) [],PSSecurityException
ERROR:     + FullyQualifiedErrorId : UnauthorizedAccess

意思是说授权有问题,需要查阅https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies

于是对PowerShell的执行策略进行了查阅,总结如下:

一、执行策略级别:PolicyName

所谓级别,是自己的理解,也就是执行限制的范围。

序号

级别

说明

1

AllSigned

  • 脚本可以运行。

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

  • 从尚未分类为受信任或不受信任的发布者运行脚本之前,会提示你。

  • 运行已签名但恶意脚本的风险。

2

Bypass

  • 不阻止任何操作,并且没有任何警告或提示。

  • 此执行策略适用于 PowerShell 脚本内置于较大应用程序的配置,或针对 PowerShell 是具有自身安全模型的程序基础的配置。

3

Default

  • 设置默认执行策略。

  • Restricted 适用于 Windows 客户端的 。

  • 适用于 Windows 服务器的 RemoteSigned

4

RemoteSigned

  • Windows Server 计算机的默认执行策略。

  • 脚本可以运行。

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

  • 不需要在本地计算机上编写且未从 Internet 下载的脚本上使用数字签名。

  • 如果未阻止脚本(例如使用 cmdlet),则运行从 Internet 下载且未签名的 Unblock-File 脚本。

  • 运行来自 Internet 以外的源的未签名脚本以及可能是恶意的已签名脚本的风险。

5

Restricted

  • Windows 客户端计算机的默认执行策略。

  • 允许单个命令,但不允许脚本。

  • 阻止运行所有脚本文件,包括格式化和配置文件 () .ps1xml 、模块脚本文件 (.psm1) ,以及 PowerShell 配置文件 () .ps1

6

Undefined

  • 当前范围内没有设置执行策略。

  • 如果所有范围内的执行策略都是 Undefined,则有效的执行策略 Restricted 适用于 Windows 客户端, RemoteSigned 适用于 Windows Server。

7

Unrestricted

  • 非 Windows 计算机的默认执行策略,无法更改。

  • 未签名的脚本可以运行。 存在运行恶意脚本的风险。

  • 在运行不来自本地 Intranet 区域的脚本和配置文件之前警告用户。

二、执行策略范围:scope

可以设置仅在特定范围内有效的执行策略。有效值为 ScopeMachinePolicyUserPolicyProcessCurrentUserLocalMachine。 设置执行策略时,LocalMachine 是默认设置。

序号

范围

说明

1

MachinePolicy

由组策略为计算机的所有用户设置。

2

UserPolicy

由计算机当前用户的组策略设置。

3

Process

范围 Process 仅影响当前 PowerShell 会话。 执行策略保存在环境变量 $env:PSExecutionPolicyPreference中,而不是注册表中。 关闭 PowerShell 会话时,变量和值将被删除。

4

CurrentUser

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

5

LocalMachine

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

三、查看当前执行策略

若要获取当前 PowerShell 会话的有效执行策略,请使用 Get-ExecutionPolicy cmdlet

  1. 获取当前执行策略:

Get-ExecutionPolicy

类似的结果:

AllSigned

  1. 获取影响当前会话的所有执行策略并按优先顺序显示:

Get-ExecutionPolicy -List

类似结果:

Scope ExecutionPolicy

----- ---------------

MachinePolicy Undefined

UserPolicy Undefined

Process Undefined

CurrentUser AllSigned

LocalMachine RemoteSigned

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

若要获取为特定范围设置的执行策略,请使用 ScopeGet-ExecutionPolicy参数。

  1. 获取 CurrentUser 范围的执行策略:

Get-ExecutionPolicy -Scope CurrentUser

类似的结果:

AllSigned

四、更改执行策略

若要更改 Windows 计算机上的 PowerShell 执行策略,请使用 Set-ExecutionPolicy cmdlet。 更改将立即生效,无需重启 PowerShell

如果为 范围 LocalMachineCurrentUser 设置执行策略,则更改将保存在注册表中,并在再次进行更改之前保持有效。

如果为 Process 范围设置执行策略,则不会将其保存在注册表中。 执行策略将一直保留到当前进程和任何子进程关闭为止。

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

Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

例如:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  1. 更改特定范围内执行策略

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

例如:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

备注: 📌
用于更改执行策略的命令可以成功,但仍不能更改有效的执行策略。
例如,为本地计算机设置执行策略的命令可以成功,但会被当前用户的执行策略覆盖。

五、删除执行策略

若要删除特定范围的执行策略,请将执行策略设置为 Undefined

  1. 删除本地计算机所有用户的执行策略:

Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine
  1. 删除当前用户的执行策略:

Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope CurrentUser

如果未在任何范围内设置执行策略,则有效的执行策略为 Restricted,这是 Windows 客户端的默认策略。

六、为会话设置策略

若要为新会话设置执行策略,请在命令行(如 cmd.exe 或 )启动 PowerShell,然后使用 的 pwsh.exe ExecutionPolicy 参数设置执行策略。

pwsh.exe -ExecutionPolicy AllSigned
注意:
pwsh.exe一定要设置路径环境变量,以便能够找到该程序!

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

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

今天是2023年大年初一,祝各位新年快乐,学习进步,事业有成!💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python基础——函数编程

python基础——函数编程 文章目录python基础——函数编程一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤一、实验目的 掌握函数编程 二、实验原理 在Python中&#xff0c;定义函数的语法如下&#xff1a; def 函数名([参数列表])&#xff1a; ‘’‘注解’…

【人人都是算法专家】一文搞定AI算法竞赛(全网最详细)

Rocky Ding公众号&#xff1a;WeThinkIn写在前面 【人人都是算法专家】栏目专注于分享Rocky在AI行业中业务/竞赛/研究/产品维度的思考与感悟。欢迎大家一起交流学习&#x1f4aa; 大家好&#xff0c;我是Rocky。 之前Rocky总结过很多关于AI算法竞赛的方法论、经验思考以及细节…

分享123个ASP源码,总有一款适合您

ASP源码 分享123个ASP源码&#xff0c;总有一款适合您 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c; 123个ASP源码下载链接&#xff1a;https://pan.baidu.com/s/17G9rpRpCJX_D-6DV0j4uFg?pwd3rx8 提取码&#x…

qt json tree 读取json树状结构并显示

1.介绍 用qt的相关的几个类处理json格式的信息 json内容&#xff1a; { "root":{"sites": [{ "name":"菜鸟教程" , "url":"www.runoob.com" }, { "name":"google" , "url":&quo…

QT环境的搭建安装:VsCode及Qt Creator

前言&#xff1a; vscode的界面美观&#xff0c;并且和QT一样的跨平台&#xff0c;所以可以选择vscode作为开发环境。   QT5.9.X版本成熟&#xff0c;相应教程丰富&#xff0c;并且5.9.9版本具有生成CMake功能&#xff0c;所以本文以QT5.9.9版本为例&#xff0c;给出QT环境的…

美团出品 | YOLOv6 v3.0 is coming(性能超越YOLOv7、v8)

&#x1f680;&#x1f680;&#x1f680;美团出品 | YOLOv6 v3.0 is coming &#xff01;&#xff01;✨✨✨ 一、前言简介 &#x1f384;&#x1f388; &#x1f4da; 代码地址&#xff1a;美团出品 | YOLOv6 3.0代码下载地址 &#x1f4da; 文章地址&#xff1a;https://a…

仿写Dubbo-Java反射

概念 反射是Java的一个特性&#xff0c;反射允许程序运行时动态获取类的所有信息以及对其进行操作。反射在框架(spring&#xff0c;springboot&#xff0c;mybatis等)中的使用非常的广发&#xff0c;可谓是框架的灵魂。 获取Class对象 在使用反射之前&#xff0c;需要获取到Cla…

工欲善其事必先利其器——Elasticsearch安装

安装使用说明 首先在elasticsearch官网下载你想要安装的版本&#xff0c;我这里使用的是7.12.1版本 上传到你想要安装的目录&#xff08;/user/search/&#xff09; 然后解压&#xff0c;解压命令如下&#xff1a; tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz 解压后…

创建保存字符串的数组numpy.char以及用于处理字符串数组的函数

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】创建字符串数组numpy.char.array()修改字符串数组大小写capitalize()&#xff1b;title()&#xff1b;lower()&#xff1b;upper()[太阳]选择题对于以下python代码title()方法输出的结果是?imp…

【并发编程十二】c++20线程同步——信号量(semaphore)

【并发编程十二】c20线程同步——信号量&#xff08;semaphore&#xff09;一、互斥二、条件变量三、future四、信号量1、信号量原理2、c 20 信号量3、demo简介&#xff1a; 本篇文章&#xff0c;是线程同步的最后一篇。我们详细的介绍下c标准库提供的线程同步方法——信号量&a…

嵌入式Linux-线程创建与终止

1. 线程的创建 1.1 创建线程 启动程序时&#xff0c;创建的进程只是一个单线程的进程&#xff0c;称之为初始线程或主线程&#xff0c;本小节我们讨论如何创建一个新的线程。 创建线程与创建进程的方法是一样的&#xff0c;让我们来看一下创建线程的函数&#xff1a; #incl…

Linux基本功系列之chown命令实战

文章目录一. 前言&#x1f680;&#x1f680;&#x1f680;二. chown命令介绍三. 语法格式及常用选项四. 参考案例3.1 改变指定文件的属组和属主3.2 改变指定文件的所属主与所属组&#xff0c;并显示过程3.3 改变指定目录及其内所有子文件的所属主与所属组3.4 只修改文件所属组…

P问题、NP问题、NP-Complete问题、NP-Hard问题分别代表什么含义?

绪论 在了解P、NP、NP-Complete、NP-Hard问题之前,先感性地感受一下这几个问题之间的区别和联系👇: 上图分为左右两个版本,推荐记住左边的比较通用。这是因为NP=P这个数学问题曾经被列为7大数学难题之一,而且是之首,甚至美国还悬赏100W美金,但是比较认可的结果是暂时…

Python数据可视化之条形图和热力图

Python数据可视化之条形图和热力图 提示&#xff1a;介绍 简单介绍Pthon可视化的图表使用 提示&#xff1a;热力图和条形图 文章目录Python数据可视化之条形图和热力图前言一、导入数据包二、选择数据集2.加载数据2.读入数据总结前言 提示&#xff1a;这里可以添加本文要记录的…

Acwing 1010. 拦截导弹

Acwing 1010. 拦截导弹一、问题描述二、算法分析三、代码实现一、问题描述 二、算法分析 这道题共分为两问&#xff0c;我们先看第一问。 该问的背后是一个很经典的最长单调子序列模型。 在这个模型中&#xff0c;我们的状态f[i]f[i]f[i]的定义是&#xff0c;以第iii个元素为结…

Cert Manager 申请SSL证书流程及相关概念-三

中英文对照表 英文英文 - K8S CRD中文备注certificatesCertificate证书certificates.cert-manager.io/v1certificate issuersIssuer证书颁发者issuers.cert-manager.ioClusterIssuer集群证书颁发者clusterissuers.cert-manager.iocertificate requestCertificateRequest证书申…

50个你离不开的 CLI 工具

作为开发人员&#xff0c;我们在终端上花费了大量时间。有很多有用的 CLI 工具&#xff0c;它们可以让您在命令行中的生活更轻松、更快速&#xff0c;而且通常更有趣。这篇文章概述了我最依赖的 50 个必备 CLI 工具。如果我遗漏了什么 - 请在评论中告诉我 :)在本文的结尾&#…

二叉树专题汇总

二叉树的前中后序遍历day11|144.二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历_奈川直子的博客-CSDN博客二叉树的层序遍历、翻转二叉树、对称二叉树day12|层序遍历合集、226.翻转二叉树、101.对称二叉树_奈川直子的博客-CSDN博客N叉树最大深度、完全二叉树节点…

LCHub:2023年无代码、低代码8大技术趋势

在数字化转型、新冠疫情、全球经济环境动荡等多因素驱动下,使得组织改变了对低代码、无代码的看法,市场规模和场景化落地实现快速增长。根据Gartner预测,到2025年,70%的应用程序将由低代码和无代码开发平台构建,其中 80%的应用程序由非IT工作者开发而成。 没有编程背景的…

青山不语,碧海无痕,数字山河间的中国脊梁

刚刚过去的2022&#xff0c;对于新农人来说&#xff0c;是不寻常的一年。福建宁德的渔民祖祖辈辈都以外出打鱼为生&#xff0c;渔排生活条件艰苦&#xff0c;娱乐匮乏&#xff0c;销路也不稳定&#xff0c;这种苦闷正随着AI、直播等数字新技术的到来而被消解。青海列卜加村的孙…