Metodi per rilevare la versione di Windows Management Framework


12

Windows 7 e Windows 2008 R2 possono potenzialmente avere WMF 2, WMF 3 o WMF 4 installati. Windows 2012 potrebbe avere WMF3 o 4 e 2012 R2 ha WMF 4.

Sto cercando un metodo per trovare quale versione è installata. Spero che questo possa essere trovato tramite WMI, quindi posso usarlo in entrambi i filtri di Criteri di gruppo e come controllo all'interno degli script Powershell sto pensando di costruire che richiedono funzionalità disponibili solo se WMF 3 o 4.

Devo porre la domanda nel modo sbagliato perché non trovo risposte su Google.


Stai chiedendo come eseguire qualcosa di simile $PSVersionTable.PSVersionma utilizzando WMI?
TheCleaner

La versione di $PSVersionTable.PSVersioncorrisponde sempre alla versione di WMF installata? In tal caso, potrebbe essere sufficiente. Essere in grado di ottenere quel valore tramite WMI sarebbe utile.
Zoredache,

Non sarebbe $ PSVersionTable.WSManStackVersion però per la versione WMF?
ErikE,

@ErikE - Immagino che dipenda dal fatto che abbia bisogno della versione Host o dell'attuale versione di Powershell.
TheCleaner

2
@Zoredache - Se stai cercando un modo per assicurarti di poter eseguire uno script di oggetti Criteri di gruppo o PS su un computer, penso che devi prima determinare se Powershell è anche installato e quale versione è. Questo può essere fatto tramite il registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngineper la versione 1 o 2 e HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngineper la versione 3 o 4 ... sotto il PowerShellVersionvalore. È quello che stai cercando?
TheCleaner

Risposte:


9

Se stai cercando un modo per assicurarti di poter eseguire uno script di oggetti Criteri di gruppo o PS su un computer, penso che devi prima determinare se Powershell è anche installato e quale versione è. Questo può essere fatto tramite il registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngineper la versione 1 o 2 e HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngineper la versione 3 o 4 ... con il valore PowerShellVersion. È quello che stai cercando?

La variabile Powershell: $ PSVersionTable.PSVersion contiene anche informazioni riguardanti WMF.


La versione di Powershell di WMF aka è un array: "PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}".
AnneTheAgile,

6

Puoi semplicemente inserire "host" in Powershell per visualizzare la versione "Windows Management Framework".

PS> (host).Version
Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1      

0

Il pacchetto di installazione per PowerShell è incluso in un programma di installazione di WMF. La versione del programma di installazione di WMF corrisponde alla versione di PowerShell; non esiste un programma di installazione autonomo per Windows PowerShell.

Versione PS = Versione WMF

Se è necessario aggiornare la versione esistente di PowerShell, in Windows, utilizzare la tabella seguente per individuare il programma di installazione per la versione di PowerShell che si desidera aggiornare.

Windows PS 3.0 PS 4.0 PS 5.0 PS 5.1 Windows 10 (vedi Nota1) Windows Server 2016 - - - installato Windows 8.1 Windows Server 2012 R2 - installato WMF 5.0 WMF 5.1 Windows 8 Windows Server 2012 installato WMF 4.0 WMF 5.0 WMF 5.1 Windows 7 SP1 Windows Server 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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.