用PowerShell来执行 交互式脚本文件

你是不是为老是在命令提示符中敲打命令而烦恼?

当然按照MS的标准,您无需为每次执行的一长串命令而重新敲打键盘。


举个列子,如下我们将计算今天到2008-8-8(北京奥运会)那天还有多少天。。。

Function Anders
{
([datetime]
" 2008-8-8 "   -  [datetime]::Now).Days;
}

将文件保存为anders.ps1,然后我们在PowerShell环境下来执行这个交互式文件。

默认情况下运行./anders.ps1是不会被允许的.
(顺便提一下, ps1文件默认也没有和powershell.exe相关联)

原因在于powershell的执行策略, 默认的执行策略是Restricted
我们可以按照下图进行设置,我在这里将它设置为RemoteSigned分类权限



当然执行的方法还有很多种,这里我给大家举例最常见的。。。
结果也顺利运行成功了,为345天,呵呵

如下我给大家列出执行策略权限的分类有以下几种:

-- Restricted:不加载配置文件或运行脚本。默认值为“Restricted”。

-- AllSigned:要求所有脚本和配置文件由可信发布者签名,包括在本地计算机编写的脚本。

-- RemoteSigned:要求从 Internet 下载的所有脚本和配置文件由可信发布者签名。

-- Unrestricted:加载所有配置文件并运行所有脚本。如果运行从 Internet 下载的未签名脚本,则系统将提示您需要相关权
限才能运行该脚本。
下面列出了此参数的可接受值:

你也可以按照你的环境来自己适用选项。

在穿插一些,关于运行交互式脚本的安全设置,你也可以自己来设置安全证书。这里我就不详细列出了,不是今天要讲的重点。


当然执行的方法还有很多种,这里我给大家举例最常见的。。。
结果也顺利运行成功了,为345天,呵呵

如下我给大家列出执行策略权限的分类有以下几种:

QUOTE:
-- Restricted:不加载配置文件或运行脚本。默认值为“Restricted”。

-- AllSigned:要求所有脚本和配置文件由可信发布者签名,包括在本地计算机编写的脚本。

-- RemoteSigned:要求从 Internet 下载的所有脚本和配置文件由可信发布者签名。

-- Unrestricted:加载所有配置文件并运行所有脚本。如果运行从 Internet 下载的未签名脚本,则系统将提示您需要相关权
限才能运行该脚本。
下面列出了此参数的可接受值:

你也可以按照你的环境来自己适用选项。

在穿插一些,关于运行交互式脚本的安全设置,你也可以自己来设置安全证书。这里我就不详细列出了,不是今天要讲的重点。
 

你可能感兴趣的:(PowerShell)