O Windows 7 e o Windows 2008 R2 potencialmente podem ter o WMF 2, WMF 3 ou WMF 4 instalado. O Windows 2012 pode ter WMF3 ou 4 e o 2012 R2 possui o WMF 4.
Estou procurando um método para descobrir qual versão está instalada. Espero que isso possa ser encontrado via WMI, para que eu possa usá-lo nos dois filtros de Diretiva de Grupo e, como verificação nos scripts do Powershell, estou pensando em criar que requeiram funcionalidade disponível apenas se o WMF 3 ou 4.
Devo estar fazendo a pergunta da maneira errada, porque não estou encontrando respostas no Google.
$PSVersionTable.PSVersion
mas usando o WMI?$PSVersionTable.PSVersion
sempre corresponde à versão do WMF instalada? Nesse caso, isso pode ser suficiente. Ser capaz de obter esse valor via WMI seria útil.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine
da versão 1 ou 2 eHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
da versão 3 ou 4 ... abaixo doPowerShellVersion
valor. É isso que você procura?Respostas:
Se você está procurando uma maneira de garantir a execução de um script GPO ou PS em um computador, acho que você precisa primeiro determinar se o Powershell está instalado e qual é a versão. Isso pode ser feito por meio do registro
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine
da versão 1 ou 2 eHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
da versão 3 ou 4 ... no valor do PowerShellVersion. É isso que você procura?A variável Powershell: $ PSVersionTable.PSVersion também contém informações sobre o WMF.
fonte
Você pode simplesmente digitar "host" no Powershell e poderá visualizar a versão "Windows Management Framework".
fonte
O pacote de instalação do PowerShell vem dentro de um instalador do WMF. A versão do instalador do WMF corresponde à versão do PowerShell; não há instalador autônomo para o Windows PowerShell.
Versão PS = Versão WMF
Se você precisar atualizar sua versão existente do PowerShell, no Windows, use a tabela a seguir para localizar o instalador da versão do PowerShell para a qual você deseja atualizar.
Windows PS 3.0 PS 4.0 PS 5.0 PS 5.1 Windows 10 (consulte a Nota1) Windows Server 2016 - - - instalado Windows 8.1 Windows Server 2012 R2 - instalado WMF 5.0 WMF 5.1 Windows 8 Windows Server 2012 instalado WMF 4.0 WMF 5.0 WMF 5.0 WMF 5.1 Windows 7 SP1 Windows Servidor 2008 R2 SP1 WMF 3.0 WMF 4.0 WMF 5.0 WMF 5.1
https://docs.microsoft.com/en-us/powershell/scripting/install/installing-windows-powershell?view=powershell-5.1
fonte