如何确保我们正在使用PowerShell 2.0?

9 浏览
0 Comments

如何确保我们正在使用PowerShell 2.0?

我们为客户提供脚本,这些脚本只能在Powershell 2.0中运行。

通过命令,我们可以确保Powershell 2.0已经安装,就像下面这样

$version = Get-host | Select-object Version

但是,如果我们提供脚本,如何确保他们是从Powershell 2.0中执行它的?

在执行脚本时,Powershell 2.0的功能可能会在初始化脚本本身时引发脚本错误,不是吗?

admin 更改状态以发布 2023年5月21日
0
0 Comments

依赖于主机版本不是最安全的做法,因为脚本可能在主机上运行,但该主机与PowerShell版本不同。

$PSVersionTable变量添加在v2中。您可以检查变量是否存在,如果存在,则运行v2及以上版本,您也可以检查PSVersion.Major属性:

if($PSVersionTable)
{
    'PowerShell {0}' -f $PSVersionTable.PSVersion.Major
}
else
{
   'PowerShell 1'
}

0
0 Comments

您可以使用#requires在您的脚本中添加注释,说明它不应运行在低于PowerShell v2的任何东西上:

#requires -Version 2.0

(旁注:即使您有点了解它的存在,找到它仍然相当困难。)

0