如何确保我们使用的是PowerShell 2.0?
我们正在为客户提供只能在Powershell 2.0中工作的脚本。
通过命令,我们可以确保PowerShell 2.0安装如下
$version = Get-host | Select-object Version
但是,如果我们提供脚本如何确保他们从Powershell 2.0执行它?
在执行脚本时,PowerShell 2.0功能可能会在启动脚本时给脚本提供错误。不是吗?
您可以使用#requires
注释您的脚本,并声明它不应在比PowerShell v2更低的任何内容上运行:
#requires -Version 2.0
(注意:即使你隐约知道它存在,这也很难找到。)
依赖主机版本并不是最安全的事情,因为脚本可以在没有与PowerShell版本相同的主机版本的主机上运行。
$ PSVersionTable变量添加到v2中。 你可以检查变量是否存在,如果你运行的是v2或更高版本,你也可以检查PSVersion.Major属性:
if($PSVersionTable)
{
'PowerShell {0}' -f $PSVersionTable.PSVersion.Major
}
else
{
'PowerShell 1'
}
我会做这样的事情:
# get version
$ver = $PsVersionTable.psversion.major
# Check to see if it's V2
If ($ver -NE 2)
{"incorrect version - exiting; return}
# Everything that follows is V2
希望这可以帮助!
链接地址: http://www.djcxy.com/p/29011.html