windows系统执行ps1(powershell)脚本文件无法识别命令的问题

常规解决办法

大家有时在powershell窗口执行命令行的时候会提示无法识别该命令

原因是在部分系统上面脚本的执行权限是禁止的

我们可以输入 get-executionpolicy 来查看当前执行策略

  • Restricted: 脚本不能运行(默认设置)
  • RemoteSigned: 在本地创建的脚本可以运行,网上下载的脚本无法运行(拥有数字证书签名例外)
  • AllSigned: 仅当脚本由受信任的发布者签名时才能运行
  • Unrestricted: 允许所有脚本运行

我们可以使用 set-executionpolicy remotesigned 来将我们的执行策略改为RemoteSigned

然后系统会提示我们是否更改,输入 yes 即可

有些更改不了是需要用管理员权限运行

一键解决

编写bat脚本去调用ps1脚本文件

下面的脚本代码包含两部分

  • 第一部分是管理员运行bat
  • 第二部分是利用 -executionpolicy remotesigned 参数去执行ps1脚本文件,这样就不需要用上面的方式去处理了,上面的方式还需要人工参与的
@REM 管理员运行powershell脚本 
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas


@REM REM 安装scoop和系统软件
"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -executionpolicy remotesigned  -file %~dp0install_scoop_and_soft.ps1  --Force


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三希

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值