Podczas wersji beta systemu Windows 10 trudno było wiedzieć, z której wersji korzystasz, chyba że została opublikowana na pulpicie. Kiedyś tego nie było - jak powiedzieć, którą wersję / kompilację używasz?
Stanie się to większym problemem, gdy Microsoft zacznie wypuszczać kolejne kompilacje z nowym mechanizmem aktualizacji.
Odpowiedzi:
GUI: Ustawienia, System, Informacje
Nie jestem pewien, czy jest to „właściwy” sposób, ale można uzyskać wersję wokalizowaną / mówioną o Win10 (1511, 1607 itd.) Za pomocą tego cmd:
Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId
Oto strona Microsoftu skorelować numerach kompilacji do Win10 „wersji” ( łącza zapasowego [wiki] na wszelki wypadek ). Pomógł mi, gdy otrzymałem kompilację # ze zdalnego komputera:
wmic /node:HOSTNAME os get BuildNumber
źródło
(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ReleaseId).ReleaseId
ReleaseId REG_SZ 1803
. To i to działa(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name CurrentBuildNumber).CurrentBuildNumber
lub(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name CurrentBuild).CurrentBuild
dla numeru kompilacjiSprawdzanie wersji lub numeru kompilacji systemu Windows 10 nie jest bardzo pomocne, ponieważ nie zmienia się z czasem.Okazuje się, że pierwsze zdanie jest błędne; tak było we wszystkich poprzednich wersjach systemu Windows, ale teraz jesteśmy w nowym świecie Windows 10. Najnowszy build wtajemniczeni ma numer kompilacji
10525
w porównaniu do „RTM”:10240
.Istnieje kilka sposobów uzyskania numeru kompilacji w wierszu polecenia:
Ostatni z trzech jest najszybszy.
Jeśli wolisz GUI, możesz użyć programu winver.exe lub
About
pozycji wHelp
menu większości aplikacji komputerowych Windows.Bez żadnych dodatków Service Pack poziom łatek w systemie operacyjnym zależy od zainstalowanych aktualizacji. Istnieje kilka sposobów ich znalezienia, GUI, systeminfo.exe, wmi itp.
Zalecanym i najpotężniejszym sposobem wykonywania takich czynności jest użycie programu PowerShell:
pokazuje coś takiego:
Możesz filtrować aktualizacje w ciągu ostatnich 10 dni:
Lub pokaż trzy ostatnie zainstalowane aktualizacje:
Możesz sprawdzić, czy konkretna aktualizacja jest zainstalowana:
Najpierw możesz znaleźć najnowszy numer łatki kb w Internecie, taki jak:
A następnie sprawdź, czy istnieje na komputerze.
Uwaga: to tylko przykład. Nie znam strony, która obecnie je wyświetla, i nadal musisz ją przeanalizować.
Pytanie brzmi: z czasem Microsoft zmieni funkcjonalność systemu Windows 10 tak bardzo, że musisz go sprawdzić, aby aplikacja lub skrypt działał.
Lepszym pomysłem może być sprawdzenie, czy w systemie istnieje konkretna potrzebna funkcja, niż szukanie numeru wersji.
źródło
WMI nie ma obecnie właściwości, których można by użyć do pełnej identyfikacji wersji systemu Windows 10 (jak 1607) lub pełnego numeru kompilacji (jak 10.0.14393.577). Jak stwierdzono w innych komentarzach, informacje te są widoczne w rejestrze pod tym kluczem:
Następujące wartości w tym kluczu odpowiadają informacjom wyświetlanym przez program winver.exe:
Ponadto numery wersji są w tych dwóch wartościach z tego klucza rejestru:
Kompilacja zmienia się, gdy zmienia się wersja (jak 1607) lub gdy instalowane są kompilacje Insider. Jednak UBR (aktualizacja wersji kompilacji aktualizacji) zmienia się z pewnymi aktualizacjami, jak wskazano na liście wydań Microsoft .
W PowerShell
zwraca Major, Minor i Build tak samo jak klucz rejestru, ale zawsze wydaje się zgłaszać wersję jako 0. Trochę kodu od użytkownika Reddit zapewnia odpowiednią wymianę, która zawiera UBR z rejestru jako numer zmiany:
źródło
Zostałem o to zapytany kilka razy, więc pomyślałem, że to opublikuję. Istnieją trzy sposoby.
Aby uzyskać więcej informacji, patrz tutaj: http://mythoughtsonit.com/2015/07/what-build-version-of-windows-10-am-i-running/
źródło
WMIC QFE GET HotfixID, InstalledOn, Description | FINDSTR /I "KB3081438"
celu ustalenia, czy zainstalowano CU 15 sierpnia 2015 r. Pusta data Zainstalowania wskazuje, że system nie uruchomił się ponownie, aby dokończyć instalację.Żaden z wcześniej opublikowanych sposobów nie działa i żaden z nich nie udostępnia kompilacji systemu operacyjnego, tak jak jest wyświetlany w sekcji Ustawienia → Informacje . Brakuje informacji o aktualizacji zbiorczej.
Możesz zrobić coś takiego
w skrypcie PowerShell, ale wymaga czegoś, co zawsze było jednowierszowe, i utrudnia monitorowanie. Aktualizacje możesz zobaczyć tutaj:
Historia aktualizacji systemu Windows 10
Mamy nadzieję, że Microsoft zaktualizuje swoje łatki, aby zaczęły modyfikować BuildNumber.
źródło
Win32_OperatingSystem.Version
powinien działać tak, jak to opisujesz, ale kompilacja zmienia się w zależności odwinver
(innymi słowy, mówię, że twój skrypt jest winny ).Czy plik msinfo32.exe nadal istnieje (od wersji 8.1)? Zawiera wiele przydatnych informacji, w tym numery seryjne i numery modeli, które mogą bardzo pomóc laptopom.
źródło
Możesz pobrać wersję z rejestru. Oto snipit programu PowerShell, aby to zrobić:
źródło
PowerShell jest zawsze odpowiedzią:
Więcej informacji:
Zwroty:
Możesz użyć tego, aby naprawdę szybko uzyskać te informacje, a ponadto możesz zbudować je w funkcji i użyć, aby pobrać te informacje z całej floty, jeśli potrzebujesz.
źródło
W domenie AD można użyć polecenia cmdlet Get-ADComputer programu PowerShell
źródło
Możesz użyć Reg Query w poleceniu FOR, aby uzyskać wersję Buildversion, na przykład 1607:
źródło
Próbując znaleźć sposób wyświetlania wersji systemu Windows 10 i jego wersji dla pojedynczego komputera zdalnego, zauważyłem, że wersja wersji programu PowerShell jest zgodna z wersją systemu Windows.
Doprowadziło mnie to do zbudowania następującego skryptu. Dodałem test, aby dowiedzieć się, czy komputer zdalny wymaga ponownego uruchomienia w celu zakończenia aktualizacji.
To daje ten typ wyniku:
W domenie AD możesz zastąpić swój singiel <nazwa_komputera> zmienną zawierającą całe komputery jednostki organizacyjnej.
źródło
Write-Host "Version $((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ProductName) $((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId), revision $(($PSVersionTable).PSVersion.Revision)"
, ale daje mi toWindows 10 Pro 1803, revision 1000
10.0.17730.1000, co jest nieprawidłowe. Wersja kompilacji to 17730Musimy sprawdzić, która łata zbiorcza jest zainstalowana w celu zapewnienia zgodności. użycie get-hotfix działa, ale powoduje problemy, jeśli zainstalowana zostanie późniejsza łata zbiorcza. Najlepszym rozwiązaniem jest porównanie numeru kompilacji, w tym części poprawki. Jedynym sposobem uzyskania tego za pomocą wiersza polecenia jest użycie wiersza polecenia ver, który nie działa bezpośrednio w programie PowerShell.
źródło