现象
直接找到XXX.ps1右键 使用PowerShell运行没反应,然后打开PowerShel把脚本推进去显示这个:
原因是因为脚本执行权限默认是Restricted,这个是禁止执行任何本地脚本。
获取当前执行权限:get-executionpolicy
然后正常解决办法可以这样:
set-executionpolicy remotesigned
remotesigned就是可以执行的了。
然后就可以了。
以上是基本解决方案,但是如果是想“偷偷”打开权限方案也有:
比如直接虚拟桌面启动一个程序,然后把上面的那件事给模拟了。
或者是直接改注册表:
(X64)
HKEY_LOCAL_MACHINESOFTWAREMicrosoftPowerShell1ShellIdsMicrosoft.PowerShell
(X32)记得偏移那个Wow.....
然后KEY:ExecutionPolicy VALUE:remotesigned就行了。
下面说下怎么找这个注册表路径:
那问题是怎么知道的是这个注册表位置,我是这么做的,开启Process Monitor然后调用设置权限的函数,然后抓取它的动作(这种通常是注册表或者本地文件),so...:
随便试了几个杀软,目前没有对这个注册表位置进行保护。