Comprobar la versión o el número de compilación de Windows 10 no es muy útil porque no cambia con el tiempo.
Resulta que la primera oración está equivocada; era cierto en todas las versiones anteriores de Windows, pero ahora estamos en un nuevo mundo de Windows 10. La última información privilegiada de construcción tiene un número de compilación de la 10525comparación con "RTM": 10240.
Hay varias formas de obtener el número de compilación en la línea de comando:
systeminfo.exe
(Get-CimInstance -ClassName Win32_OperatingSystem -Namespace root/cimv2).BuildNumber
(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name CurrentBuild).CurrentBuild
El último de los tres es el más rápido.
Si prefiere la GUI, puede usar winver.exe o la Aboutentrada en el Helpmenú de la mayoría de las aplicaciones de escritorio de Windows.
Sin más service packs, el nivel de parche en el sistema operativo depende de las actualizaciones instaladas. Hay varias formas de encontrarlos, GUI, systeminfo.exe, wmi, etc.
La forma recomendada y más poderosa de hacer cosas como esta es usar PowerShell:
Get-HotFix
muestra algo como:
Source Description HotFixID InstalledBy InstalledOn
------ ----------- -------- ----------- -----------
WIN10 Security Update KB3074663 NT AUTHORITY\SYSTEM 7/17/2015 12:00:00 AM
WIN10 Security Update KB3074667 NT AUTHORITY\SYSTEM 7/21/2015 12:00:00 AM
WIN10 Security Update KB3074674 NT AUTHORITY\SYSTEM 7/24/2015 12:00:00 AM
WIN10 Update KB3074678 NT AUTHORITY\SYSTEM 7/31/2015 12:00:00 AM
Puede filtrar las actualizaciones en los últimos 10 días:
Get-Hotfix | Where {$_.InstalledOn -gt $(Get-Date).AddDays(-10) -and $_.Description -eq "Update"}
O muestre las últimas tres actualizaciones instaladas:
Get-Hotfix | Sort-object InstalledOn -Descending | Select -First 3
Puede verificar si está instalada una actualización específica:
if ((get-hotfix -id kb3087916) -ne $null) {"patched..."}
Primero puede encontrar el último número de parche kb en línea como:
(New-Object Net.WebClient).DownloadString('https://microsoft.com/...')
Y luego verifique si existe en la máquina.
Nota: esto es solo un ejemplo. No conozco una página que actualmente enumere estos, y todavía tiene que analizarla.
La pregunta es: con el tiempo, Microsoft cambiará la funcionalidad de Windows 10 tanto que tendrá que verificarlo para que su aplicación o script funcione.
Puede ser una mejor idea verificar si existe una característica específica que necesita en el sistema, en lugar de buscar un número de versión.