Bagaimana membedakan Pembaruan 1 dari Windows 8.1 dari Windows 8.1?

9

Apakah ada cara untuk membedakan keduanya secara definitif?

Saya menyadari bahwa saya dapat mencari bilah tugas atau tombol daya di Layar Mulai, tetapi saya lebih tertarik mengetahui apakah ada tempat yang benar-benar menampilkan Pembaruan 8.1. Saya tahu MS memiliki halaman ini , tetapi cara terprogram untuk mendeteksi itu adalah bagus, terutama karena ISO terbaru memiliki pembaruan yang masuk.

Sejauh yang saya tahu, output verdan wmic ossama antara Windows 8.1 dan Windows 8.1. Pembaruan 1, dan Properti Sistem masih melaporkan Windows 8.1.

ernie
sumber
1
Kamu tidak. Anda harus memeriksa apakah basis data Pembaruan Windows spesifik yang merupakan "Pembaruan 1" diinstal. Saya tidak memiliki nomor berguna yang didokumentasikan dengan baik.
Ramhound
2
@Ramhound Itu hanya bekerja untuk sistem yang ditingkatkan dari 8.1. . . ISO pada MSDN sekarang Windows 8.1 dengan Pembaruan, dan tidak memiliki Pembaruan Windows dalam sejarahnya. . .
ernie
2
@ and31415 versi build dilaporkan di veroutput (6.3.9600), dan sama untuk keduanya. Masalah yang saya coba selesaikan adalah hanya mengetahui sistem apa yang kami miliki di lab kami, dan OS apa yang mereka jalankan. . . untuk cakupan pengujian penuh, kami ingin tetap menggunakan 8.1 dan 8.1 dengan Pembaruan 1
ernie
2
@ and31415 Saya seharusnya lebih eksplisit. Kedua veroutput dan info registry adalah identik. Metode wmic / findstr sepertinya akan bekerja (bahkan pada sistem yang diinstal dari ISO baru), meskipun itu jelek sebagai dosa (terutama karena itu pada dasarnya akan menjadi pemeriksaan sekunder setelah verpemeriksaan). . . posting itu sebagai jawaban dan saya akan menerimanya. . .
ernie
2
@Ramhound Saya mengerti Anda tidak dapat memperbaruinya, tetapi kami menguji perangkat lunak di sini, dan sama seperti kami memiliki pengguna yang masih menjalankan XP tanpa paket layanan, kami menganggap kami akan memiliki pengguna dengan 8.1 tanpa memperbarui. Kami membutuhkan cakupan komprehensif untuk memastikan perangkat lunak kami berfungsi di semua lingkungan, dan memiliki sistem yang luas sangat penting bagi kami.
ernie

Jawaban:

6

Solusi yang memungkinkan

Di bawah ini ada beberapa skrip batch yang dapat memeriksa apakah sistem operasi adalah Windows 8.1, dengan atau tanpa KB2919355 . Kode keluar akan menjadi salah satu dari yang berikut:

  • 0: Windows 8.1
  • 1: Pembaruan Windows 8.1 (KB2919355 diinstal)
  • 2: Bukan Windows 8.1

Skrip batch A - Pembaruan cek

Ini cara yang paling bisa diandalkan. Script pertama memeriksa apakah sistem operasi adalah Windows 8.1 dengan membandingkan versi dengan 6.3.9600. Kemudian semua pembaruan yang diinstal diminta untuk memverifikasi apakah pembaruan KB2919355 sudah diinstal.

@echo off

for /f "usebackq tokens=2 delims==" %%G in (
`wmic os get version /value ^| findstr /c:"="`
) do set version=%%~G

if not "%version%" == "6.3.9600" exit /b 2

wmic qfe get hotfixid | findstr /i /c:"KB2919355" >nul
set /a errorlevel=%errorlevel% ^^ 1

exit /b %errorlevel%

Skrip batch B - Pemeriksaan versi build

Sebagai alternatif, Anda dapat memeriksa versi Windows build, yang lebih cepat daripada skrip pertama karena Anda tidak perlu menyebutkan semua pembaruan. Karena menggunakan nilai registri, itu mungkin tidak dapat diandalkan.

@echo off

for /f "usebackq tokens=2 delims==" %%G in (
`wmic os get version /value ^| findstr /c:"="`
) do set version=%%~G

if not "%version%" == "6.3.9600" exit /b 2

for /f "tokens=4 delims=. " %%G in (
'"reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "BuildLabEx" | findstr /i /c:"REG_SZ" "'
) do set /a build=%%~G

if %build% geq 17031 exit /b 1
exit /b 0

Script batch C - Pemeriksaan versi build (Internet Explorer)

Sama seperti skrip sebelumnya, di sini konsepnya serupa kecuali versi Internet Explorer (IE) yang diperiksa.

@echo off

for /f "usebackq tokens=2 delims==" %%G in (
`wmic os get version /value ^| findstr /c:"="`
) do set version=%%~G

if not "%version%" == "6.3.9600" exit /b 2

for /f "tokens=3,6 delims=. " %%G in (
'"reg query "HKLM\SOFTWARE\Microsoft\Internet Explorer" /v "svcVersion" | findstr /i /c:"REG_SZ" "'
) do set /a major=%%~G & set /a build=%%~H

if %major% equ 11 if %build% geq 17031 exit /b 1
if %major% geq 12 exit /b 1
exit /b 0

Catatan Skrip mengasumsikan bahwa setiap versi IE yang lebih tinggi atau sama dengan 12 tersedia pada sistem Windows 8.1 dengan pembaruan KB2919355 diinstal.

Semua pembaruan keamanan dan nonsecurity di masa depan untuk Windows RT 8.1, Windows 8.1, dan Windows Server 2012 R2 memerlukan pembaruan ini untuk diinstal. Kami menyarankan Anda menginstal pembaruan ini pada komputer berbasis Windows RT 8.1, Windows 8.1, atau Windows Server 2012 R2 Anda agar dapat menerima pembaruan lanjutan di masa mendatang.

Sumber: Pembaruan Windows RT 8.1, Windows 8.1, dan Windows Server 2012 R2: April 2014

Mengingat hal di atas, masuk akal untuk berpikir bahwa setiap versi IE yang lebih baru akan memerlukan pembaruan sebagai prasyarat, seperti halnya SP2 diperlukan untuk menginstal IE 9 pada Windows Vista .

and31415
sumber
1
Saya senang bahwa ide saya untuk memeriksa versi IE11 adalah solusi yang mungkin.
Ramhound
@Ramhound Saya telah memperbaiki skrip lama. Memeriksa versi IE memiliki beberapa peringatan, dan saya telah memperbarui jawaban untuk menjelaskannya.
and31415
3

Mengurai BuildLabExstring

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" | findstr BuildLabEx

dan jika angkanya lebih besar dari 17031pengguna menginstal Pembaruan 1.

magicandre1981
sumber
BuildLabtidak diperbarui; BuildLabExeadalah.
Jeroen Wiert Pluimers
@ magicandre1981 - Yang persis seperti yang diperiksa skrip kueri ini.
Ramhound
Kalimat awal berbicara tentang BuildLab. Komentar saya menjelaskan perbedaan antara keduanya, karena Exporsi BuildLabExdisembunyikan dalam pembesaran teks skrip 100% default.
Jeroen Wiert Pluimers
0

Kami menggunakan utilitas baris perintah yang disebut WuInstall ( http://www.wuinstall.com ) yang melakukan beberapa hal berguna di sekitar penambalan, di antaranya mengaktifkan skrip batch untuk memeriksa saat pembaruan diinstal

Baris perintah untuk menampilkan semua pembaruan yang diinstal

WUInstall.exe / pencarian / kriteria "IsInstalled = 1" / offline

Untuk memeriksa apakah KB tertentu diinstal (ada banyak opsi pemfilteran) Anda dapat memeriksa:

WUInstall.exe / pencarian / kriteria "IsInstalled = 1" / offline / match "KB982214"

Utilitas melakukan beberapa output baris perintah, yang dapat diarahkan ke file xml dengan opsi yang disebut / xmlout atau hanya diarahkan ke file dengan eg> out.txt

MacDonkey
sumber
-1

Saya cukup memeriksa folder "winstore" di Windows karena saya perhatikan ada perbedaan mencolok di semua versi windows.

Bahkan dapat menjalankan perintah WinStore untuk melihatnya.

REM Simulasi OS centang: Instal c: cd \ jika ada "c: \ windows \ WinStore" goto WIN8

: Win8 REMspecific code untuk mesin win8

PowerTrip
sumber
1
Saya kira Anda mengatakan itu untuk Windows8 ayat non-Windows 8. Pertanyaan ini khusus untuk Win8.1 v. Win8.1 Pembaruan 1
ernie