Como diferenciar o Windows 8.1 Update 1 do Windows 8.1?

9

Existe alguma maneira de diferenciar esses dois definitivamente?

Eu percebo que posso procurar por uma barra de tarefas ou botão de energia na tela inicial, mas estou mais interessado em saber se há algum lugar que realmente exiba 8.1 Atualização 1. Eu sei que o MS tem esta página , mas uma maneira programática de detectá-lo seria interessante, especialmente porque os ISOs mais recentes ter a atualização integrada.

Tanto quanto eu posso dizer, a saída de ver e wmic os é a mesma entre o Windows 8.1 e o Windows 8.1. Atualização 1 e as propriedades do sistema ainda informam o Windows 8.1.

    
por ernie 15.04.2014 / 20:59

4 respostas

6

Soluções possíveis

Abaixo, há alguns scripts em lote que podem verificar se o sistema operacional é o Windows 8.1, com ou sem KB2919355 . O código de saída será um dos seguintes:

  • 0 : Windows 8.1
  • 1 : atualização do Windows 8.1 (KB2919355 instalado)
  • 2 : não Windows 8.1

Script em lote A - Verificação de atualização

Esta é a maneira mais confiável. O script primeiro verifica se o sistema operacional é o Windows 8.1, comparando a versão com 6.3.9600 . Em seguida, todas as atualizações instaladas são consultadas para verificar se a atualização KB2919355 já foi instalada.

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

Script em lote B - Verificação da versão de compilação

Como alternativa, você pode verificar a versão de compilação do Windows, que é mais rápida que o primeiro, pois não é necessário enumerar todas as atualizações. Como ele usa um valor de registro, pode não ser tão confiável.

@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 em lote C - Verificação da versão de compilação (Internet Explorer)

Assim como o script anterior, aqui o conceito é semelhante, exceto que a versão do Internet Explorer (IE) é marcada.

@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

Nota O script pressupõe que qualquer versão do IE maior ou igual a 12 esteja disponível em um sistema Windows 8.1 com a atualização KB2919355 instalada.

All future security and nonsecurity updates for Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 require this update to be installed. We recommend that you install this update on your Windows RT 8.1, Windows 8.1, or Windows Server 2012 R2-based computer in order to receive continued future updates.

Source: Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 Update: April 2014

Com base no acima, é razoável pensar que qualquer versão mais recente do IE exigiria a atualização como um pré-requisito, assim como o SP2 é necessário para instalar o IE 9 no Windows Vista .

    
por 17.04.2014 / 11:50
3

Analise a BuildLabEx string

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

e se o número for maior que 17031 , os usuários terão a Atualização 1 instalada.

    
por 16.04.2014 / 06:28
0

Nós usamos um utilitário de linha de comando chamado WuInstall ( link ) que faz algumas coisas úteis sobre o patch, entre elas permitindo que scripts em lote verifiquem whehe atualizações estão instaladas

Linha de comando para mostrar todas as atualizações instaladas

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

Para verificar se um determinado KB está instalado (existem muitas opções de filtragem), você pode verificar:

WUInstall.exe / search / criteria "IsInstalado = 1" / offline / correspondência "KB982214"

O utilitário faz alguma saída da linha de comando, que pode ser redirecionada para um arquivo xml com uma opção chamada / xmlout ou apenas redirecionada para um arquivo com, por exemplo, > out.txt

    
por 22.04.2014 / 08:52
-1

Eu simplesmente procuro por uma pasta "winstore" no Windows, como eu notei que é uma diferença gritante em todas as versões do Windows.

Até pode executar o comando WinStore para o ver.

Verificação do SO de simulação do REM :Instalar c: CD\ se existir "c: \ windows \ WinStore", vá para o WIN8

: Win8 Código REM específico para uma máquina win8

    
por 05.09.2014 / 17:10