[玩转系统] 如何检查安装的PowerShell版本?
作者:精品下载站 日期:2024-12-14 22:54:52 浏览:14 分类:玩电脑
如何检查安装的PowerShell版本?
在本文中,我们将了解存在哪些 PowerShell 版本,它们之间有什么区别
Windows PowerShell
和
PowerShell Core
,以及如何检查本地或远程计算机上安装的 PowerShell 版本。
Windows PowerShell 和 PowerShell Core 的历史记录和版本
从 Windows 7 SP1 和 Windows Server 2008 R2 SP1 开始的所有 Windows 版本中默认安装 PowerShell。下表显示了所有 PowerShell 版本的列表:
PowerShell 1.0可以在 Windows Server 2003 SP1 和 Windows XP 上手动安装
PowerShell 2.0Windows Server 2008 R2 和 Windows 7
PowerShell 3.0Windows 8 和 Windows Server 2012
PowerShell 4.0Windows 8.1 和 Windows Server 2012 R2
PowerShell 5.0预装在 Windows 10 RTM 上,并通过 Windows Update 自动更新到 5.1
PowerShell 5.1它内置于 Windows 10(从 Build 1709 开始)和 Windows Server 2016 中
PowerShell Core 6.0 / 6.1它是下一个跨平台 PowerShell 版本(基于 .NET Core),可以安装在所有受支持的 Windows 版本以及 MacOS、CentOS、RHEL、Debian、Ubuntu、openSUSE 上
PowerShell Core 7.02020年3月发布的最新PowerShell版本(其中使用.NET Core 3.1而不是.NET Core 2.x)
您可以在以前的 Windows 版本中手动安装较新的 PowerShell 版本。为此,请下载并安装适当版本的Windows 管理框架(PowerShell 是其中的一部分)。
值得注意的是,近两年微软暂停了经典Windows PowerShell的开发(仅发布了错误修复和安全更新),转而专注于开源跨平台PowerShell Core。
Windows PowerShell 和 PowerShell Core 之间有什么区别?
-
Windows PowerShell 基于.NET Framework(例如,PowerShell 5 需要 .NET Framework v4.5,请确保已安装)。 PowerShell Core基于.Net Core;
Windows PowerShell仅适用于Windows操作系统,而PowerShell Core是跨平台的,也可以在Linux中运行;
PowerShell Core 并不完全兼容 Windows PowerShell,但是,Microsoft 正在努力改进与早期 PS cmdlet 和脚本的向后兼容性。 (建议在迁移到 PowerShell Core 之前测试旧的 PS1 脚本)。 PowerShell Core 7 提供与 Windows PowerShell 的最高兼容性;
您无法使用PowerShell ISE编辑器编辑PowerShell Core脚本(但可以使用Visual Studio Code);
由于 Windows PowerShell 已不再开发,建议您开始迁移到 PowerShell Core。
如何从控制台获取PowerShell版本?
了解计算机上安装的 PowerShell 版本的最简单方法是使用以下命令:
host
检查版本属性值。
以下屏幕截图是在默认安装了 PowerShell 5.1 的 Windows 10 中制作的,就像在 Windows Server 2016 中一样。
或者
$PSVersionTable
您只能获取 PowerShell 版本值:
$PSVersionTable.PSVersion.major
(在此示例中,我们在干净的 Windows Server 2008 R2 中获得了 PSVersion 2.0)
$PSVersionTable 命令可以在不同操作系统的 PowerShell Core 中正确运行。
您还可以通过注册表查找已安装的PowerShell版本。为此,请获取注册表项中 PowerShellVersion 参数的值
HKLM\SOFTWARE\Microsoft\PowerShell\PowerShellEngine
使用 Get-ItemProperty cmdlet:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
上述方法适用于 Windows Server 2012/Windows 8 或更高版本。
在Windows Server 2008 R2/Windows 7中,您可以在另一个注册表项中获取注册表参数的值:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine -Name 'PowerShellVersion').PowerShellVersion
要获取已安装的 PowerShell Core 版本,请使用以下命令:
(Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\PowerShellCore\InstalledVersions* -Name 'SemanticVersion').SemanticVersion
检查远程计算机上 PowerShell 的版本
要检查远程主机上的 PowerShell 版本,请使用 $PSVersionTable 环境变量的值或直接从注册表获取信息。其他方法可能会返回不正确的数据。
您可以使用 Invoke-Command cmdlet 通过 PowerShell 远程处理在远程计算机上安装 PowerShell 版本:
Invoke-Command -ComputerName mun-dc01 -ScriptBlock {$PSVersionTable.PSVersion} -Credential $cred
Major Minor Build Revision PSComputerName
----- ----- ----- -------- --------------
5 1 14393 3383 mun-dc01
您可以使用以下脚本获取多台计算机上已安装的 PowerShell 版本(远程计算机列表必须指定为纯文本文件):
Invoke-Command -ComputerName (Get-Content C:\PS\host_list.txt) -
ScriptBlock{$PSVersionTable.PSVersion} | Select PSComputerName, @{N="PS Version";E={$_.Major}}
或者,您可以通过 Get-ADComputer 获取域计算机列表并远程检查它们上的 PowerShell 版本:
$adcomputer=(Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"' -SearchBase ‘OU=servers,OU=Munich,dc=a-d,dc=com’ ).Name
Invoke-Command-ComputerName $adcomputer -Scriptblock{$PSVersionTable.psversion} -ErrorAction SilentlyContinue
如果您的 PowerShell 脚本使用特定 PS 版本的功能,您可以强制脚本切换到不同的 PowerShell 版本。例如,要在 PowerShell v3 模式下运行控制台,请运行以下命令(必须安装 .Net Framework 3.5):
PowerShell.exe -version 3
如果您运行使用特定 PS 版本的 cmdlet 或功能的脚本或命令,了解您的 PowerShell 版本可能很重要。如果您想在脚本中检测已安装的PowerShell版本并使用基于它的cmdlet,您可以运行以下PS脚本:
$ps_version = $PSVersionTable.PSVersion.major
if ( $ps_version -eq "2” )
{
write "You are using Powershell 2.0"
}
elseif ( $ps_version -eq "5" )
{
write " You are using Powershell 5"
}
在下一篇文章中,我们将了解如何更新 Windows 中的 PowerShell 版本。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag