AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 627386
Accepted
Loduwijk
Loduwijk
Asked: 2014-09-10 11:20:19 +0800 CST2014-09-10 11:20:19 +0800 CST 2014-09-10 11:20:19 +0800 CST

安装了哪个版本的 Windows 管理框架?

  • 772

如何查看已安装的 Windows Management Framework (WMF) 版本?看起来这应该是一件简单的事情,但我做不到。甚至在谷歌上搜索一堆不同版本的问题也几乎没有结果。

它不在 appwiz.cpl 中,并且 regedit 没有为“Windows Management Framework”找到任何东西,它为“wmf”找到了太多无关的东西

我只想知道如何以任何合理的方式检查它。是否有它的注册表项?有文件可以查吗?任何事物???

我能找到的最接近的是 serverfault:Methods to Detect version of Windows Management Framework。这个问题的开头是一样的,但它似乎要求在 GPO 中使用一种特定的检查方式。也许这就是它没有得到答案的原因。

我要检查多台计算机。我开始使用的是 Windows Server 2008 R2 Standard。还将有其他 Windows Server 操作系统。

如果您知道任何比我更好的标签,请发表评论或重新标记;我找不到能很好地描述这个问题的任何东西。


更新:有些人似乎认为“ $PSVersionTable”(和/或它的各种属性)是一个答案。我最近终于意识到这是一个 PowerShell 变量(也许“PS”前缀应该已经为我提供了它,但它没有)并试图更深入地挖掘。这导致了另一个问题:PowerShell 的 $PSVersionTable 的内容代表什么?.

更新 2:根据我现在收集的所有信息和我更好的理解,我相当肯定 PowerShell 的内置变量$PSVersionTable.PSVersion在技术上不是解决这个问题的答案,但它通常(有时?总是?不确定)相同,因为在版本中可能会齐头并进。该$PSVersionTable.WSManStackVersion变量可能是我想要的,但该属性的官方简短描述显示它代表 WS-Management 堆栈。WS-Management 堆栈是否与 WMF 相同?谷歌搜索表明它们密切相关,但我不确定答案是否是肯定的。

windows
  • 5 5 个回答
  • 91861 Views

5 个回答

  • Voted
  1. Best Answer
    DoodlingDBA
    2017-09-19T06:01:33+08:002017-09-19T06:01:33+08:00

    请参阅 Microsoft 的此文档:

    https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell?view=powershell-5.1

    在“升级现有的 Windows Powershell”部分中,它特别指出:

    PowerShell 的安装包包含在 WMF 安装程序中。WMF 安装程序的版本与 PowerShell 的版本匹配;Windows PowerShell 没有独立的安装程序。

    我想这就是答案。运行$PSVersionTable.PSVersion以获取版本。

    • 12
  2. Mike
    2016-04-15T06:17:31+08:002016-04-15T06:17:31+08:00

    我知道这是一个老问题,但对于从谷歌搜索中找到这个的其他人:

    我想说这$PSVersionTable.PSVersion是 WMF 版本最可靠的指标。请参阅以下示例。

    Windows 7 全新安装:

    Name                           Value
    ----                           -----
    PSVersion                      2.0
    WSManStackVersion              2.0
    CLRVersion                     2.0.50727.5420
    BuildVersion                   6.1.7601.17514
    PSCompatibleVersions           {1.0, 2.0}
    SerializationVersion           1.1.0.1
    PSRemotingProtocolVersion      2.1
    

    .NET 4.5 和 WMF 4 安装后的 Windows 7:

    Name                           Value
    ----                           -----
    PSVersion                      4.0
    WSManStackVersion              3.0
    SerializationVersion           1.1.0.1
    CLRVersion                     4.0.30319.18408
    BuildVersion                   6.3.9600.16406
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
    PSRemotingProtocolVersion      2.2
    

    安装 WMF 5 后的 Windows 7:

    Name                           Value
    ----                           -----
    PSVersion                      5.0.10586.117
    WSManStackVersion              3.0
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
    BuildVersion                   10.0.10586.117
    CLRVersion                     4.0.30319.18408
    PSRemotingProtocolVersion      2.3
    SerializationVersion           1.1.0.1
    

    Windows 10,其中包括开箱即用的 WMF 5:

    Name                           Value
    ----                           -----
    PSVersion                      5.0.10586.122
    WSManStackVersion              3.0
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
    BuildVersion                   10.0.10586.122
    CLRVersion                     4.0.30319.42000
    PSRemotingProtocolVersion      2.3
    SerializationVersion           1.1.0.1
    

    如您所见,for $PSVersionTable.WSManStackVersion.Majoronly 的版本似乎在 WMF 4 安装时发生变化,然后保持在 3。而$PSVersionTable.PSVersion.Major似乎报告了 WMF 的准确版本。

    • 10
  3. Brian
    2015-06-02T04:11:51+08:002015-06-02T04:11:51+08:00

    在 PowerShell 中,它可以从$PSVersionTable.WSManStackVersion.Major

    我家的 Windows 7 系统:

    PS C:\Users\Brian> $PSVersionTable
    
    Name                           Value
    ----                           -----
    CLRVersion                     2.0.50727.5485
    BuildVersion                   6.1.7601.17514
    PSVersion                      2.0
    WSManStackVersion              2.0
    PSCompatibleVersions           {1.0, 2.0}
    SerializationVersion           1.1.0.1
    PSRemotingProtocolVersion      2.1
    
    
    PS C:\Users\Brian> $PSVersionTable.WSManStackVersion.Major
    2
    PS C:\Users\Brian>
    

    然后在安装更新的 Windows 管理框架后:

    PS C:\Users\Brian> $PSVersionTable
    
    Name                           Value
    ----                           -----
    PSVersion                      4.0
    WSManStackVersion              3.0
    SerializationVersion           1.1.0.1
    CLRVersion                     4.0.30319.34209
    BuildVersion                   6.3.9600.16406
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
    PSRemotingProtocolVersion      2.2
    
    
    PS C:\Users\Brian>
    
    • 3
  4. Håvid Falch
    2015-01-28T17:12:17+08:002015-01-28T17:12:17+08:00

    如果已安装,您将在“appwiz.cpl”中找到它。请记住查看“查看已安装的更新”下的内容,因为 WMF 作为 Windows 更新分发,具有不同 Windows 版本的唯一 KB 编号。

    在 Windows 7 SP 1 下安装的 WMF 3.0

    • 1
  5. Stef
    2016-10-14T21:36:19+08:002016-10-14T21:36:19+08:00

    您可以通过识别您正在检查的版本的 KB 编号来检查安装了哪个版本的 Windows Management Framework (WMF),然后使用 wmic 查询来确定是否已安装该 KB 编号。这些示例都是基于使用 cmd.exe 运行命令。

    ** 检查 WMF 4.0 的命令

    wmic qfe get hotfixid | find "KB2819745"
    echo %ERRORLEVEL%
    

    ** 运行命令示例:

    C:\Program Files\Tivoli\TSM\baclient> wmic qfe get hotfixid | find "KB2819745"
    KB2819745
    
    C:\Program Files\Tivoli\TSM\baclient> echo %ERRORLEVEL%
    0
    

    在上面的示例中,安装了 WMF 4.0: KB 从 wmic 查询返回,返回代码为零。

    ** 检查 WMF 5.0 的命令

    wmic qfe get hotfixid | find "KB3134760"
    echo %ERRORLEVEL%
    

    ** 运行命令示例:

    C:\Program Files\Tivoli\TSM\baclient> wmic qfe get hotfixid | find "KB3134760"
    C:\Program Files\Tivoli\TSM\baclient> echo %ERRORLEVEL%
    1
    

    因此,在上面的示例中,未安装 WMF 5.0:wmic 查询没有返回任何内容,返回码非零。

    您可能使用不同的 KB 来安装给定级别的 WMF,但这些是我目前正在使用的。

    我总是检查 PowerShell(作为 WMF 的一部分安装或升级):

    powershell.exe -NoLogo -Sta -NoProfile -NonInteractive -Command "Write-Host $PSVersionTable.PSVersion"
    echo %ERRORLEVEL%
    

    如果未安装 .NET 4.5,升级到 WMF 4.0(稍后再升级到 5.0)时会出现问题,因此如果 PS 命令输出错误,您可能应该安装 .NET 4.5。

    • 0

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 无法安排任务(访问被拒绝)

  • 物理机重启时自动重启虚拟机(VMWare)

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve