Làm cách nào để phân biệt Windows 8.1 Update 1 với Windows 8.1?


9

Có cách nào để phân biệt hai điều này một cách dứt khoát không?

Tôi nhận ra rằng tôi có thể tìm kiếm một thanh tác vụ hoặc nút nguồn trên Màn hình Bắt đầu, nhưng tôi quan tâm hơn đến việc có nơi nào thực sự hiển thị 8.1 Cập nhật 1. Tôi biết MS có trang này , nhưng một cách lập trình để phát hiện ra nó sẽ là tốt đẹp, đặc biệt là các ISO mới nhất có bản cập nhật được cập nhật.

Theo như tôi có thể nói, đầu ra vervà wmic osgiống nhau giữa Windows 8.1 và Windows 8.1. Cập nhật 1 và Thuộc tính hệ thống vẫn báo cáo Windows 8.1.


1
Bạn không. Bạn phải kiểm tra xem phần kiến ​​thức Windows Update cụ thể là "Cập nhật 1" đã được cài đặt chưa. Tôi không có số tiện dụng.
— Ramhound

2
@Ramhound Điều đó chỉ hoạt động cho các hệ thống được nâng cấp từ 8.1. . . ISO trên MSDN hiện là Windows 8.1 với Cập nhật và không có Windows Update trong lịch sử của chúng. . .
— ernie

2
@ và31415 phiên bản xây dựng được báo cáo trong verđầu ra (6.3.9600) và giống nhau cho cả hai. Vấn đề tôi đang cố gắng giải quyết là chỉ cần biết chúng ta có những hệ thống nào trong phòng thí nghiệm và hệ điều hành nào chúng đang chạy. . . để có phạm vi kiểm tra đầy đủ, chúng tôi muốn giữ cả 8.1 và 8.1 với Cập nhật 1
— ernie

2
@ and31415 Tôi nên đã rõ ràng hơn. Cả verđầu ra và thông tin đăng ký đều giống hệt nhau. Phương thức wmic / findstr có vẻ như sẽ hoạt động (ngay cả trên các hệ thống được cài đặt từ các ISO mới), mặc dù nó xấu như tội lỗi (đặc biệt là về cơ bản nó sẽ là kiểm tra thứ cấp sau khi verkiểm tra). . . gửi nó như một câu trả lời và tôi sẽ chấp nhận nó. . .
— ernie

2
@Ramhound Tôi hiểu rằng bạn không thể cập nhật nó, nhưng chúng tôi đã kiểm tra phần mềm tại đây và giống như chúng tôi có những người dùng vẫn đang chạy XP mà không có gói dịch vụ, chúng tôi cho rằng chúng tôi sẽ có người dùng 8.1 mà không cần cập nhật. Chúng tôi cần bảo hiểm toàn diện để đảm bảo phần mềm của chúng tôi hoạt động trong mọi môi trường và việc có hệ thống rộng khắp là điều quan trọng đối với chúng tôi.
— ernie

Câu trả lời:


6

Phương pháp khả thi

Bên dưới có một vài tập lệnh bó có thể kiểm tra xem hệ điều hành có phải là Windows 8.1 hay không, có hoặc không có KB2919355 . Mã thoát sẽ là một trong những điều sau đây:

  • 0: Windows 8.1
  • 1: Cập nhật Windows 8.1 (đã cài đặt KB2919355)
  • 2: Không phải Windows 8.1

Batch script A - Kiểm tra cập nhật

Đây là cách đáng tin cậy nhất. Tập lệnh trước tiên kiểm tra xem hệ điều hành có phải là Windows 8.1 hay không bằng cách so sánh phiên bản với 6.3.9600. Sau đó, tất cả các bản cập nhật đã cài đặt được truy vấn để xác minh xem bản cập nhật KB2919355 đã được cài đặt chưa.

@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%

Batch script B - Kiểm tra phiên bản xây dựng

Để thay thế, bạn có thể kiểm tra phiên bản xây dựng của Windows, phiên bản đầu tiên nhanh hơn kịch bản đầu tiên vì bạn không cần liệt kê tất cả các bản cập nhật. Vì nó sử dụng một giá trị đăng ký, nó có thể không đáng tin cậy.

@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

Batch script C - Kiểm tra phiên bản xây dựng (Internet Explorer)

Cũng giống như tập lệnh trước, ở đây khái niệm này tương tự ngoại trừ phiên bản Internet Explorer (IE) được kiểm tra thay thế.

@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

Lưu ý Tập lệnh giả định rằng mọi phiên bản IE cao hơn hoặc bằng 12 sẽ có sẵn trên hệ thống Windows 8.1 có cài đặt bản cập nhật KB2919355.

Tất cả các bản cập nhật bảo mật và không bảo mật trong tương lai cho Windows RT 8.1, Windows 8.1 và Windows Server 2012 R2 yêu cầu bản cập nhật này phải được cài đặt. Chúng tôi khuyên bạn nên cài đặt bản cập nhật này trên máy tính chạy Windows RT 8.1, Windows 8.1 hoặc Windows Server 2012 R2 để nhận các bản cập nhật tiếp theo trong tương lai.

Nguồn: Windows RT 8.1, Windows 8.1 và Windows Server 2012 R2 Cập nhật: Tháng 4 năm 2014

Với những điều trên, thật hợp lý khi nghĩ rằng bất kỳ phiên bản IE mới hơn nào cũng yêu cầu cập nhật là điều kiện tiên quyết, giống như SP2 được yêu cầu để cài đặt IE 9 trên Windows Vista .


1
Tôi rất vui vì ý tưởng của tôi về việc kiểm tra phiên bản IE11 là một giải pháp khả thi.
— Ramhound

@Ramhound Tôi đã cải thiện tập lệnh cũ. Kiểm tra phiên bản IE có một số cảnh báo và tôi đã cập nhật câu trả lời để làm rõ điều đó.
— và31415

3

Phân tích BuildLabExchuỗi

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

và nếu số lượng lớn hơn 17031số người dùng đã cài đặt Bản cập nhật 1.


BuildLabkhông được cập nhật; BuildLabExeLà.
— Jeroen Wiert Pluimers

@ magicandre1981 - Đó chính xác là những gì tập lệnh truy vấn này kiểm tra.
— Ramhound

Các câu ban đầu nói về BuildLab. Nhận xét của tôi giải thích sự khác biệt giữa hai phần này, vì Exphần BuildLabExđược ẩn trong độ phóng đại văn bản 100% mặc định của tập lệnh.
— Jeroen Wiert Pluimers

0

Chúng tôi sử dụng tiện ích dòng lệnh có tên WuInstall ( http://www.wuinstall.com ) để thực hiện một số điều hữu ích xung quanh việc vá lỗi, trong số đó cho phép các tập lệnh bó để kiểm tra các bản cập nhật đã được cài đặt

Dòng lệnh để hiển thị tất cả các bản cập nhật đã cài đặt

WUInstall.exe / search / iteria "IsInstalled = 1" / offline

Để kiểm tra xem một KB nhất định đã được cài đặt chưa (có nhiều tùy chọn lọc), bạn có thể kiểm tra:

WUInstall.exe / tìm kiếm / tiêu chí "IsInstalled = 1" / offline / khớp "KB982214"

Tiện ích thực hiện một số đầu ra dòng lệnh, có thể được chuyển hướng đến một tệp xml với tùy chọn có tên / xmlout hoặc chỉ được chuyển hướng đến một tệp có ví dụ> out.txt


-1

Tôi chỉ cần kiểm tra thư mục "winstore" trong Windows vì tôi nhận thấy đó là một sự khác biệt rõ ràng trong tất cả các phiên bản của windows.

Thậm chí có thể chạy lệnh WinStore để xem nó.

Kiểm tra mô phỏng hệ điều hành REM: Cài đặt c: cd \ if tồn tại "c: \ windows \ WinStore" goto WIN8

: Win8 Mã đặc biệt cho máy win8


1
Tôi đoán bạn đang nói rằng đó là câu hỏi dành cho Windows8 không phải Windows 8. Câu hỏi này dành riêng cho Win8.1 v. Bản cập nhật Win8.1 1
— ernie
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.