如何获得PowerShell版本

264 阅读2分钟

Microsoft PowerShell是一个使用微软.NET技术构建的外壳。它旨在帮助开发者建立高效的脚本和工具,以实现各种流程的自动化和加速。它最初是受其他脚本语言如VBScript和批处理文件的启发。

PowerShell结合了可以运行类似于经典shell(bash、zsh等)的命令行shell和脚本语言。PowerShell是面向对象的,类似于面向对象编程。

本指南将演示如何使用各种PowerShell命令和变量检查PowerShell的安装版本。

安装PowerShell

PowerShell是Windows独有的功能,在它刚出来的时候,在所有主要的Windows版本上都有。从PowerShell 6.0开始,它成为免费的开源软件,可用于所有主要平台(Windows和Linux)。它现在可用于所有主要的Linux发行版。

下面的命令将安装PowerShell snap。

$ sudo snap install powershell --classic

让我们快速验证一下PowerShell是否被成功安装。

$ pwsh

获取PowerShell版本

在任何编程/脚本语言中,都有多种方法来达到某个目标。这也适用于PowerShell。我们可以用少量的方法检查PowerShell的版本。它围绕着多个PowerShell内置功能。

追踪PowerShell的版本在各种情况下都很重要。系统管理员可能希望保持最新,以避免运行旧的PowerShell。对于开发者来说,脚本的兼容性是需要维护的。对于普通/高级用户,拥有最新的PowerShell可以提供额外的功能和增强的安全性(补丁、错误修复和其他改进)。

使用$PSVersionTable检查PowerShell版本

当运行该命令时,它将打印一个包含PowerShell各种信息的PowerShell哈希表。

在PowerShell中运行该命令。

$ $PSVersionTable

要想只获得PowerShell的版本,请使用以下命令。

$ $PSVersionTable.PSVersion

PowerShell允许对输出进行微调,只打印特定信息。在接下来的演示中,我们将获得正在运行的PowerShell的深入版本。

$ $PSVersionTable.Values

如果你运行的是PowerShell 7或更高版本,它还带有向后兼容旧版本的功能。检查支持的向后兼容的PowerShell版本。

$ $PSVersionTable.PSCompatibleVersions

使用Get-Variable检查PowerShell版本

顾名思义,Get-Variable命令允许你在PowerShell中读取一个变量的值。使用这个命令,我们可以提取变量*$PSVersionTable的值。这个方法和以前一样,只是我们将使用Get-Variable*来完成这个工作。

要打印PowerShell的版本,运行以下命令。

$ (Get-Variable PSVersionTable -ValueOnly).PSVersion

使用Get-Host检查PowerShell版本

在PowerShell中,主机是托管PowerShell引擎的一个程序。Get-Host命令提供了大量关于主机的信息(包括各种PowerShell信息)。

$ Get-Host

要获得PowerShell的具体版本,可以运行下面的命令来代替。

$ (Get-Host).Version

或者,我们可以把Get-Host的输出传递给Select-Object,只显示 "版本 "字段。

$ Get-Host | Select-Object version

使用$Host自动变量检查PowerShell版本

PowerShell中的$Host变量包含关于主机的各种信息。它也包括PowerShell版本。

$ $Host

要具体获得PowerShell的版本,请使用以下命令代替。

$ $Host.version

最后的想法

本指南展示了检查所安装的PowerShell版本的所有可能方法。它还展示了如何在一些基本PowerShell脚本的帮助下更方便地提取信息。对于可靠的版本信息,我们总是建议使用$PSVersionTable.PSVersion作为参考。