Jak sprawdzić, aby sprawdzić, która wersja Windows Management Framework (WMF) jest zainstalowana? Wydaje się, że powinno to być proste, ale nie mogę. Nawet Googling, kilka różnych wersji pytania, okazuje się niewiele do zera.
Nie ma go w appwiz.cpl, a regedit nie znajduje niczego dla „Windows Management Framework” i znajduje zbyt wiele obcych rzeczy dla „wmf”
Chcę tylko wiedzieć, jak to sprawdzić, w jakikolwiek rozsądny sposób. Czy istnieje dla niego klucz rejestru? Czy jest plik, który mogę sprawdzić? Byle co???
Najbliższa rzecz, jaką mogłem znaleźć, to błąd serwera: Metody wykrywania wersji systemu Windows Management Framework . To pytanie zaczyna się tak samo, ale wydaje się, że wymaga określonego sposobu sprawdzania, który będzie stosowany w GPO; być może dlatego nie otrzymał odpowiedzi.
Jest wiele komputerów, na których chcę to sprawdzić. Zaczynam od systemu Windows Server 2008 R2 Standard. Będą też inne systemy operacyjne Windows Server.
Jeśli znasz jakieś tagi, które działają lepiej niż to, co mam, skomentuj lub przeprowadź ponownie tag; Nie mogłem znaleźć niczego, co dobrze opisałoby to pytanie.
Aktualizacja: Niektórzy ludzie myślą, że „ $PSVersionTable
” (i / lub różne jego właściwości) jest odpowiedzią. W końcu ostatnio zdałem sobie sprawę, że jest to zmienna PowerShell (może prefiks „PS” powinien był mi ją dać, ale nie zrobił) i spróbowałem głębiej kopać. To spowodowało kolejne pytanie: co reprezentuje zawartość $ PSVersionTable programu PowerShell? .
Aktualizacja 2: W oparciu o wszystkie informacje, które zebrałem teraz i moje lepsze zrozumienie, jestem całkiem pewien, że wbudowana zmienna PowerShell $PSVersionTable.PSVersion
nie jest technicznie odpowiedzią na to, ale że często (czasami? Zawsze? Nie jestem pewien) tak samo, jak w wersjach może iść ręka w rękę. $PSVersionTable.WSManStackVersion
Zmienna może być to, co chcę, ale oficjalna krótki opis, który pokazuje jak to własności stanowiących stosu WS-Management. Czy stos WS-Management jest tym samym co WMF? Googling sugeruje, że są blisko spokrewnieni, ale nie jestem pewien, czy odpowiedź na to pytanie brzmi „tak”.
źródło
$PSVersionTable.PSVersion
ale używając WMI?” nie jest odpowiedzią. Co to w ogóle znaczy? Jeśli mógłbyś wziąć ten komentarz i zamienić go w odpowiedź, która jest rzeczywiście użyteczna, byłbym wdzięczny. Czy to jest$PSVersionTable.PSVersion
jakaś zmienna, która jest gdzieś dostępna? Jeśli tak, czy jest to wersja WMF? Próbowałemecho $PSVersionTable.PSVersion
i dostałem wyjście$PSVersionTable.PSVersion
echo $PSVersionTable.PSVersion
i uzyskałeś wynik$PSVersionTable.PSVersion
- czym się mylisz w moim komentarzu / odpowiedzi na inne pytanie?Odpowiedzi:
Zobacz tę dokumentację od Microsoft:
https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell?view=powershell-5.1
W sekcji „Uaktualnianie istniejącego programu Windows Powershell” jest napisane w szczególności:
Myślę, że to jest odpowiedź chłopaki. Uruchom,
$PSVersionTable.PSVersion
aby uzyskać wersję.źródło
Wiem, że to stare pytanie, ale dla innych osób, które znajdują to w wyszukiwarce Google:
Chciałbym argumentować, że
$PSVersionTable.PSVersion
jest to najbardziej niezawodny wskaźnik wersji WMF. Zobacz poniższe przykłady.Świeża instalacja systemu Windows 7:
Windows 7 po instalacji .NET 4.5 i WMF 4:
Windows 7 po instalacji WMF 5:
Windows 10, który zawiera WMF 5 po wyjęciu z pudełka:
Jak widać,
$PSVersionTable.WSManStackVersion.Major
wydaje się , że wersja for zmienia się tylko w instalacji WMF 4, a następnie pozostaje na poziomie 3.$PSVersionTable.PSVersion.Major
Wydaje się, że podaje dokładną wersję WMF.źródło
W PowerShell jest dostępny z
$PSVersionTable.WSManStackVersion.Major
Mój domowy system Windows 7:
Następnie po zainstalowaniu nowszej struktury zarządzania Windows:
źródło
WSManStackVersion
pierwotnie był 3.0, i pozostał na 3.0. Myślę, że najlepszym przewodnikiem są dwa pierwsze komponenty,PSVersion
które będą takie same jak wersja WMF.Jeśli jest zainstalowany, znajdziesz go w „appwiz.cpl”. Pamiętaj tylko, aby zajrzeć do „Wyświetl zainstalowane aktualizacje”, ponieważ WMF jest rozpowszechniany jako aktualizacja systemu Windows z unikalnymi numerami KB dla różnych wersji systemu Windows.
źródło
Sprawdzasz, która wersja Windows Management Framework (WMF) jest zainstalowana, identyfikując numer KB wersji, którą sprawdzasz, a następnie za pomocą, w tym przypadku, zapytania wmic, aby ustalić, czy ten numer KB został zainstalowany. Wszystkie te przykłady oparte są na użyciu cmd.exe do uruchomienia poleceń.
** Polecenia sprawdzenia WMF 4.0
** Przykład uruchamiania poleceń:
W powyższym przykładzie zainstalowano WMF 4.0: KB jest zwracany z zapytania wmic i zerowego kodu powrotu.
** Polecenia sprawdzenia WMF 5.0
** Przykład uruchamiania poleceń:
W powyższym przykładzie WMF 5.0 nie jest zainstalowany: nic nie zwróciło z zapytania WMIC i niezerowy kod powrotu.
Możliwe, że użyłeś innej KB do zainstalowania danego poziomu WMF, ale obecnie nad nimi pracuję.
I zawsze sprawdzam PowerShell (który jest zainstalowany lub uaktualniony jako część WMF):
Podczas aktualizacji do WMF 4.0 (i ponownie później do 5.0) występują problemy, jeśli .NET 4.5 nie jest zainstalowany, więc jeśli polecenie PS generuje błąd, prawdopodobnie powinieneś zainstalować .NET 4.5.
źródło