Como você verifica se a versão do Windows Management Framework (WMF) está instalada? Parece que deve ser uma coisa simples de descobrir, mas não posso. Até mesmo pesquisando no Google várias versões diferentes da pergunta acaba pouco ou nada.
Não está no appwiz.cpl e o regedit não encontra nada para o "Windows Management Framework" e encontra muitas coisas estranhas para o "wmf"
Eu só quero saber como verificar isso, de qualquer maneira razoável. Existe uma chave de registro para isso? Existe um arquivo que eu possa verificar? Qualquer coisa???
A coisa mais próxima que pude encontrar foi aqui na falha do servidor : Métodos para detectar a versão do Windows Management Framework . Essa pergunta começa da mesma forma, mas parece solicitar uma maneira específica de verificação a ser usada em um GPO; talvez seja por isso que não obteve respostas.
Existem vários computadores nos quais quero verificar isso. Estou começando com o Windows Server 2008 R2 Standard. Também haverá outros sistemas operacionais Windows Server.
Se você souber de alguma tag que funcione melhor do que a que eu tenho, comente ou refaça a marcação; Não consegui encontrar nada que descrevesse bem essa pergunta.
Atualização: algumas pessoas parecem pensar que " $PSVersionTable
" (e / ou várias propriedades) são uma resposta. Finalmente, percebi recentemente que essa é uma variável do PowerShell (talvez o prefixo 'PS' devesse ter dado para mim, mas não o fez) e tentei ir mais fundo. Isso resultou em outra pergunta: o que o conteúdo de $ PSVersionTable do PowerShell representa? .
Update2: Com base em todas as informações que reuni agora e no meu melhor entendimento, estou bastante certo de que a variável interna do PowerShell $PSVersionTable.PSVersion
não é tecnicamente a resposta para isso, mas que é frequentemente (às vezes? Sempre? Não tenho certeza) a mesmo, como nas versões pode andar de mãos dadas. A $PSVersionTable.WSManStackVersion
variável pode ser o que eu quero, mas a descrição curta oficial dessa propriedade mostra isso como representando a pilha do WS-Management. A pilha WS-Management é a mesma coisa que WMF? O Google sugere que eles estejam intimamente relacionados, mas não tenho certeza se a resposta é sim.
fonte
$PSVersionTable.PSVersion
mas usando o WMI?" não é uma resposta. Afinal, o que isso quer dizer? Se você pudesse pegar esse comentário e transformá-lo em uma resposta realmente útil, eu agradeceria. É este$PSVersionTable.PSVersion
uma variável de algum tipo que está em algum lugar disponível? Se sim, é garantida a versão do WMF? Eu tenteiecho $PSVersionTable.PSVersion
e obtive uma saída de$PSVersionTable.PSVersion
echo $PSVersionTable.PSVersion
e obteve uma saída$PSVersionTable.PSVersion
- o que você está confuso no meu comentário / resposta sobre a outra pergunta?Respostas:
Consulte esta documentação da Microsoft:
https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell?view=powershell-5.1
Na seção "Atualizando o Windows Powershell existente", diz especificamente:
Eu acho que essa é a resposta pessoal. Execute
$PSVersionTable.PSVersion
para obter a versão.fonte
Sei que essa é uma pergunta antiga, mas para outras pessoas que a encontram na Pesquisa do Google:
Eu gostaria de argumentar que esse
$PSVersionTable.PSVersion
é o indicador mais confiável da versão do WMF. Veja exemplos abaixo.Instalação nova do Windows 7:
Windows 7 após a instalação do .NET 4.5 e WMF 4:
Windows 7 após a instalação do WMF 5:
Windows 10, que inclui o WMF 5 pronto para o uso:
Como você pode ver, a versão
$PSVersionTable.WSManStackVersion.Major
apenas parece mudar na instalação do WMF 4 e permanece em 3. Enquanto$PSVersionTable.PSVersion.Major
parece relatar a versão exata do WMF.fonte
No PowerShell, está disponível em
$PSVersionTable.WSManStackVersion.Major
Meu sistema Windows 7 doméstico:
Depois de instalar um Windows Management Framework mais recente:
fonte
WSManStackVersion
era originalmente 3.0, e permanecia em 3.0. Eu acho que o melhor guia são os dois primeiros componentes,PSVersion
que serão os mesmos da versão WMF.Se estiver instalado, você o encontrará em "appwiz.cpl". Lembre-se de procurar em "Exibir 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.
fonte
Você verifica qual versão do Windows Management Framework (WMF) está instalada, identificando o número de KB da versão que está verificando e, em seguida, usando, nesse caso, uma consulta wmic, para determinar se esse número de KB foi instalado. Estes exemplos são todos baseados no uso do cmd.exe para executar os comandos.
** Comandos para verificar o WMF 4.0
** Exemplo de execução dos comandos:
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
** Exemplo de execução dos comandos:
Portanto, no exemplo acima, o WMF 5.0 não está instalado: nada retornado 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 do WMF, mas é com isso que estou trabalhando atualmente.
E eu sempre verifico o PowerShell (que é instalado ou atualizado como parte do WMF):
Há problemas ao atualizar para o WMF 4.0 (e novamente mais tarde para 5.0) se o .NET 4.5 não estiver instalado, portanto, se o comando PS gerar um erro, você provavelmente deverá instalar o .NET 4.5.
fonte