在Windows PowerShell ISE中运行PS1脚本
在Windows PowerShell ISE中运行PS1脚本 2015-03-07 10:53:34
http://543925535.blog.51cto.com/639838/1618102
对于Windows PowerShell来说,如果一个脚本不是从磁盘读取的,那它就不是一个脚本。因此所有在powershell和powershell ISE中通过输入命令的方式来执行的脚本都只是Windows PowerShell命令,他们不受脚本执行策略的限制。但是,如果我们将代码保存到一个文件,然后在powershell中再次运行它,这是一个脚本。
比如,我们把脚本的执行策略设置为Restricted,你会发现,我们仍然可以在ISE的窗口中运行脚本,如图。
接下来,如果我们把无标题1.ps1中的两条命令保存一下,再看看什么效果呢?
保存完成后,我们再执行一下,发现报错了,如图。
告诉我们无法加载该文件,因为在此系统上禁止运行脚本。
如果这个时候,我把上面保存的test.ps1脚本文件中的内容copy出来,然后在新开一个选项卡去执行它,任然是可以的,如图。
其实当我们把脚本的执行策略设置成restricted之后,还是有办法去执行脚本的,其中一种方法就是绕过脚本的执行策略设置。
首先我们打开运行,输入powershell -executionpolicy bypass
注意这种bypass模式只支持powershell,不直接支持powershell ISE,如图。
powershell_ise -executionpolicy bypass
但是我们可以通过使用powershell -executionpolicy bypass进入powershell之后,再去执行ISE进入到powershell ISE之中,如图。
这个时候打开的powershell ISE也处于Bypass模式之中,我们可以执行一个已经保存的脚本来看看,是可以成功执行的,如图。
============================================================================
本文出自 “曾垂鑫的技术专栏” 博客,谢绝转载!


![clipboard[1] clipboard[1]](http://s3.51cto.com/wyfs02/M02/5A/39/wKiom1T6aAXwq5BEAAH34jut-xs925.jpg)
![clipboard[2] clipboard[2]](http://s3.51cto.com/wyfs02/M00/5A/39/wKiom1T6aBDThyc-AAFadeDsEf4755.jpg)
![clipboard[3] clipboard[3]](http://s3.51cto.com/wyfs02/M01/5A/39/wKiom1T6aByTJJ3jAAHT1i-cGww381.jpg)
![clipboard[4] clipboard[4]](http://s3.51cto.com/wyfs02/M02/5A/39/wKiom1T6aB3jALZhAADY9BcuOkY089.jpg)
![clipboard[5] clipboard[5]](http://s3.51cto.com/wyfs02/M00/5A/35/wKioL1T6aTmQkALSAAFwG8DXvYM456.jpg)
![clipboard[6] clipboard[6]](http://s3.51cto.com/wyfs02/M01/5A/35/wKioL1T6aTzx8y27AAChW0diZg0664.jpg)
![clipboard[7] clipboard[7]](http://s3.51cto.com/wyfs02/M02/5A/35/wKioL1T6aUbDrZz6AAHglz0_I9Y133.jpg)
浙公网安备 33010602011771号