zl程序教程

您现在的位置是:首页 >  后端

当前栏目

PowerShell提示此系统中禁止执行脚本的解决方法

方法系统执行 解决 脚本 提示 禁止 PowerShell
2023-09-11 14:22:07 时间

【问题】

在win7下运行powershell脚本提示系统禁止执行脚本,估计是系统默认禁止执行powershell脚本。
具体提示如下:

PS C:\Users\momocha\Desktop> .\Invoke-ReflectivePEInjection.ps1
无法加载文件 C:\Users\momocha\Desktop\Invoke-ReflectivePEInjection.ps1,因为在
此系统中禁止执行脚本。有关详细信息,请参阅 "get-help about_signing"。
所在位置 行:1 字符: 35
+ .\Invoke-ReflectivePEInjection.ps1 <<<<
    + CategoryInfo          : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

截图如下:
在这里插入图片描述

【解决方案】

管理员身份 打开powershell,并执行下面命令打开信任脚本执行策略

set-ExecutionPolicy RemoteSigned

执行结果如下,没有报错。
在这里插入图片描述

脚本也可以正常执行了
在这里插入图片描述

【衍生问题】

1. 如何查看powershell的命令帮助

LZ试了各种姿势:

set-ExecutionPolicy ?
set-ExecutionPolicy -h
set-ExecutionPolicy \h
set-ExecutionPolicy --help

结果各种报错,这不科学。官网上找了下传送门
在这里插入图片描述

但肯定不方便,于是发现真正的help命令是这样的:

help set-ExecutionPolicy

在这里插入图片描述

2. 命令set-ExecutionPolicy是什么意思

看下help提示,说这个powershell的安全策略,需要用管理员身份运行。

说明
    Set-ExecutionPolicy 可更改 Windows PowerShell 执行策略的用户首选项。

    要在 Windows Vista、Windows Server 2008 和 Windows 的更高版本上运行此命令,必须使用“以管理员身份运行”选项启动 Wind
ows PowerShell,即使您是计算机上 Administr
    ators 组的成员。

    执行策略是 Windows PowerShell 安全策略的一部分。它确定是否可以加载配置文件(包括 Windows PowerShell 配置文件)和运行
脚本,并且确定哪些脚本(如果有)在运行之前必须进行数字签名。

    有关详细信息,请参阅 about_Execution_Policies。

3. 如何禁止powershell脚本执行

使用时需要执行权限,为了安全,可以再关闭允许执行。

set-ExecutionPolicy Restricted

4. 如何查看执行策略的状态

Get-ExecutionPolicy

在这里插入图片描述

参考文献

https://www.jb51.net/article/95022.htm
https://docs.microsoft.com/zh-CN/previous-versions//dd347628(v=technet.10)
https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-5.1

一些题外话

最近思路有点发散,工作很烦躁,自己研究的方向也是东搞搞,西搞搞,机器学习,爬虫,web挖洞,算是温习下以前的东西吧,二进制分析的事就放下了,等忙完了这段工作,在捡起来。