Wie erhält man eine OS-Version mit WMI durch Powershell?

3317
j.walt

Weiß jemand, wie man die OS-Version wie folgt erhält:

Betriebssystemversion: 1607

Mit Get-WmiObject? Konnte diese Informatin überhaupt nicht finden ..

4
Was ist der Grund, warum Sie Powershell verwenden? marijnr vor 6 Jahren 0
Ich muss diese Informationen in eine Desktop-Informationssoftware implementieren. Die einzige Möglichkeit, dies zu tun, ist eine INI-Datei und eine WMI-Abfrage j.walt vor 6 Jahren 0
Das Powershell-Tag ist noch unklar: `(Get-Item" HKLM: SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion "). GetValue ('ReleaseID')` LotPings vor 6 Jahren 0
Haben Sie `(Get-WmiObject Win32_OperatingSystem) .Version` ausprobiert? Sandeep vor 6 Jahren 0
Die @ Sandeep-Version gibt Ihnen die ID, mit der Microsoft ihre Windows-Version identifiziert (Version 6.1 wird für Windows 7 verwendet, Version 6.2 für Windows 10, ...). marijnr vor 6 Jahren 0

4 Antworten auf die Frage

1
marijnr

Die Betriebssystemversion wird in einem Registrierungsschlüssel gespeichert: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ReleaseId . Normalerweise können Sie diese Tasten mit WMI lesen.

LotPings hat die richtige Frage in den Kommentaren gestellt:(Get-Item "HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion").GetValue('ReleaseID')

0
Hyperlite1215

Hier ist ein kleines Skript, das ich geschrieben habe, um Computerinformationen zu finden:

Powershell: Computerinformationen abrufen

$Computer = "localhost" $Manufacturer = Get-WmiObject -ComputerName $Computer -class win32_computersystem | select -ExpandProperty Manufacturer $Model = Get-WmiObject -class win32_computersystem -ComputerName $Computer | select -ExpandProperty model $Serial = Get-WmiObject -class win32_bios -ComputerName $Computer | select -ExpandProperty SerialNumber $wmi_os = Get-WmiObject -class Win32_OperatingSystem -ComputerName $Computer | select CSName,Caption,Version,OSArchitecture,LastBootUptime switch($wmi_os.Version){ '10.0.10240'{$wmi_build="1507"} '10.0.10586'{$wmi_build="1511"} '10.0.14393'{$wmi_build="1607"} '10.0.15063'{$wmi_build="1703"} '10.0.16299'{$wmi_build="1709"} '10.0.17134'{$wmi_build="1803"} '10.0.17686'{$wmi_build="1809"} } $wmi_cpu = Get-WmiObject -class Win32_Processor -ComputerName $Computer | select -ExpandProperty DataWidth $wmi_memory = Get-WmiObject -class cim_physicalmemory -ComputerName $Computer | select Capacity | %{($_.Capacity / 1024kb)} $DNName = Get-ADComputer -Filter "Name -like '$Computer'" | select -ExpandProperty DistinguishedName $Boot=[System.DateTime]::ParseExact($($wmi_os.LastBootUpTime).Split(".")[0],'yyyyMMddHHmmss',$null) [TimeSpan]$uptime = New-TimeSpan $Boot $(get-date) Write-Host "------Computer Info for $Computer------------------`r" Write-Host "Hostname from WMI`: $($wmi_os.CSName)" Write-Host "$DNName" Write-Host "$Manufacturer $Model SN`:$Serial" Write-Host "$($wmi_os.Caption) $wmi_build $($wmi_os.OSArchitecture) $($wmi_os.Version)" Write-Host "CPU Architecture: $wmi_cpu" Write-Host "Memory: $wmi_memory" Write-Host "Uptime`: $($uptime.days) Days $($uptime.hours) Hours $($uptime.minutes) Minutes $($uptime.seconds) Seconds" Write-Host "--------------------------------------------------------" 
0
Ketanbhut

Fand dieses coole Skript bei TechNet Gallary: Get-WindowsVersion

So sieht es aus:

[19JUN] :>Get-WindowsVersion -ComputerName ktpc  ComputerName Productname WindowsVersion WindowsBuild ProductID InstallTime ------------ ----------- -------------- ------------ --------- ----------- KTPC Windows 10 Enterprise 1803 10.0.17134.112 00329-10280-00000-AA451 5/22/2018 8:10:15 AM 

Es verwendet die gleiche "RealseID" wie von anderen vorgeschlagen, um diesen Wert zu erhalten. Es ist jedoch eine schöne Anstrengung und einsatzbereit.

0
Tim

Es ist nicht durch das WMI, aber Jeff Mercado Antwort könnte auf irgendeine Hilfe irgendwie sein;

Da Sie auf die .NET-Bibliothek zugreifen können, können Sie auf die OSVersionEigenschaft der System.EnvironmentKlasse zugreifen, um diese Informationen abzurufen. Für die Versionsnummer gibt es die VersionEigenschaft.

Zum Beispiel,

PS C:\> [System.Environment]::OSVersion.Version  Major Minor Build Revision ----- ----- ----- -------- 6 1 7601 65536 

Details zu Windows-Versionen finden Sie hier .