在Windows PowerShell ISE中运行PS1脚本

对于Windows PowerShell来说,如果一个脚本不是从磁盘读取的,那它就不是一个脚本。因此所有在powershell和powershell ISE中通过输入命令的方式来执行的脚本都只是Windows PowerShell命令,他们不受脚本执行策略的限制。但是,如果我们将代码保存到一个文件,然后在powershell中再次运行它,这是一个脚本。

比如,我们把脚本的执行策略设置为Restricted,你会发现,我们仍然可以在ISE的窗口中运行脚本,如图。

clipboard

接下来,如果我们把无标题1.ps1中的两条命令保存一下,再看看什么效果呢?

clipboard[1]

保存完成后,我们再执行一下,发现报错了,如图。

告诉我们无法加载该文件,因为在此系统上禁止运行脚本。

clipboard[2]

如果这个时候,我把上面保存的test.ps1脚本文件中的内容copy出来,然后在新开一个选项卡去执行它,任然是可以的,如图。

clipboard[3]

其实当我们把脚本的执行策略设置成restricted之后,还是有办法去执行脚本的,其中一种方法就是绕过脚本的执行策略设置。

首先我们打开运行,输入powershell -executionpolicy bypass

clipboard[4]

注意这种bypass模式只支持powershell,不直接支持powershell ISE,如图。

powershell_ise -executionpolicy bypass

clipboard[5]

但是我们可以通过使用powershell -executionpolicy bypass进入powershell之后,再去执行ISE进入到powershell ISE之中,如图。

clipboard[6]

这个时候打开的powershell ISE也处于Bypass模式之中,我们可以执行一个已经保存的脚本来看看,是可以成功执行的,如图。

clipboard[7]

TIP:http://blogs.technet.com/b/heyscriptingguy/archive/2015/03/02/write-and-run-powershell-script-without-scripting.aspx

============================================================================

本文出自 “曾垂鑫的技术专栏” 博客,谢绝转载!

你可能感兴趣的:(windows,powershell,powershell脚本)