Que versão do Windows Management Framework está instalada?

12

Como você verifica se a versão do Windows Management Framework (WMF) está instalada? Parece que deveria ser uma coisa simples de descobrir, mas não posso. Mesmo pesquisando um monte de diferentes versões da questão, pouco ou nada aparece.

Não está em appwiz.cpl, e o regedit não encontra nada para o "Windows Management Framework" e encontra coisas estranhas demais para o "wmf"

Eu só quero saber como verificar tudo, de qualquer maneira razoável. Existe uma chave de registro para isso? Existe um arquivo que posso verificar? Qualquer coisa ???

A coisa mais próxima que encontrei foi aqui em serverfault: Métodos para detectar a versão do Windows Management Framework . Essa pergunta começa do mesmo modo, mas parece pedir uma forma específica de verificação a ser usada em um GPO; talvez por isso não tenha respostas.

Existem vários computadores nos quais desejo verificar isso. O que eu estou começando é o Windows Server 2008 R2 Standard. Haverá outros sistemas operacionais Windows Server também.

Se você souber de alguma tag que funcione melhor do que a que eu tenho, por favor, comente ou repita; Não encontrei nada que descrevesse bem essa questão.

Atualização: algumas pessoas parecem pensar que " $PSVersionTable " (e / ou várias propriedades dele) é uma resposta. Eu finalmente percebi recentemente que esta é uma variável do PowerShell (talvez o prefixo 'PS' deveria ter dado para mim, mas isso não aconteceu) e tentei cavar mais fundo. Isso resultou em outra pergunta: O que o conteúdo da $ PSVersionTable do PowerShell representa? .

Update2: Com base em todas as informações que reuni agora e no meu melhor entendimento, tenho quase certeza de que a variável incorporada do PowerShell $PSVersionTable.PSVersion não é tecnicamente a resposta para isso, mas é frequentemente (às vezes? sempre? não tenho certeza) o mesmo, como nas versões podem andar de mãos dadas. A variável $PSVersionTable.WSManStackVersion pode ser o que eu quero, mas a descrição resumida oficial dessa propriedade mostra como representando a pilha do WS-Management. A pilha do WS-Management é a mesma coisa que o WMF? O Google sugere que eles estão intimamente relacionados, mas não tenho certeza se a resposta para isso é sim.

    
por Loduwijk 09.09.2014 / 21:20

5 respostas

7

Veja esta documentação da Microsoft:

link

Na seção "Atualizando o Windows Powershell existente", ele diz especificamente:

The installation package for PowerShell comes inside a WMF installer. The version of the WMF installer matches the version of PowerShell; there's no stand alone installer for Windows PowerShell.

Eu acho que essa é a resposta pessoal. Execute $PSVersionTable.PSVersion para obter a versão.

    
por 18.09.2017 / 16:01
10

Eu sei que essa é uma pergunta antiga, mas para outras pessoas que encontram isso em uma Pesquisa do Google:

Eu gostaria de argumentar que $PSVersionTable.PSVersion é o indicador mais confiável da versão do WMF. Veja abaixo exemplos.

Nova instalação do 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

Windows 7 após a instalação do .NET 4.5 e WMF 4:

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

Windows 7 após a instalação do WMF 5:

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, que inclui o WMF 5 pronto para uso:

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

Então, como você pode ver, a versão para $PSVersionTable.WSManStackVersion.Major parece mudar apenas na instalação do WMF 4 e depois permanece em 3. Enquanto $PSVersionTable.PSVersion.Major parece reportar a versão exata do WMF.

    
por 14.04.2016 / 16:17
3

No PowerShell, ele está disponível em $PSVersionTable.WSManStackVersion.Major

Meu sistema Windows 7 em casa:

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>

Depois de instalar um novo Windows Management Framework:

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>
    
por 01.06.2015 / 14:11
0

Se estiver instalado, você encontrará em "appwiz.cpl". Lembre-se de consultar "Visualizar atualizações instaladas", pois o WMF é distribuído como uma atualização do Windows com números de KB exclusivos para as diferentes versões do Windows.

    
por 28.01.2015 / 02:12
0

Você verifica qual versão do Windows Management Framework (WMF) está instalada, identificando o número KB da versão que está verificando e, em seguida, usando, neste caso, uma consulta wmic, para determinar se esse número KB foi instalado. Esses exemplos são baseados no uso do cmd.exe para executar os comandos.

** Comandos para verificar o WMF 4.0

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

** Exemplo de execução dos comandos:

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

C:\Program Files\Tivoli\TSM\baclient> echo %ERRORLEVEL%
0

No exemplo acima, o WMF 4.0 está instalado: O KB é retornado da consulta wmic e um código de retorno zero.

** Comandos para verificar o WMF 5.0

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

** Exemplo de execução dos comandos:

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

Portanto, no exemplo acima, o WMF 5.0 não está instalado: nada retornou da consulta wmic e um código de retorno diferente de zero.

É possível que você tenha usado um KB diferente para instalar um determinado nível de WMF, mas é com isso que estou trabalhando atualmente.

E eu sempre verifico o PowerShell (que é instalado ou atualizado como parte do WMF):

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

Há problemas ao atualizar para o WMF 4.0 (e novamente para 5.0) se o .NET 4.5 não estiver instalado, portanto, se o comando PS gerar um erro, provavelmente você deve instalar o .NET 4.5.

    
por 14.10.2016 / 07:36