绕过安全限制,通过cmd执行PowerShell脚本(2)
之前的做法是将 PowerShell 脚本的代码拼接成一个大字符串,然后通过在 cmd 中运行 powershell 去直接运行。现在觉得,这种做法多少有些脱裤子放屁。脚本无法运行,是被系统的安全策略阻止了,其实可以直接在 cmd 中设置脚本运行策略。改进后的脚本如下:
首先是 run.bat
@echo off FOR /F "tokens=* USEBACKQ" %%F IN (`powershell Get-ExecutionPolicy`) DO ( SET policy=%%F ) powershell Set-ExecutionPolicy Bypass set /p script=Enter PowerShell script to run: powershell %~dp0\%script% powershell Set-ExecutionPolicy %policy% pause echo on
我们并不想为了运行某个脚本而永久性地改变安全策略,只需要临时更改,运行后再改回去。
接下来,把需要运行的任意 ps1 脚本放在和上面的 run.bat
相同的目录下,run.bat
运行起来后,直接在终端中输入要运行的脚本文件名就可以调用了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂