विंडोज 10 का निर्माण / संस्करण कैसे खोजा जाए


19

विंडोज 10 के बीटा के दौरान यह कठिन था कि आप तब तक किस संस्करण को चला रहे थे जब तक कि यह डेस्कटॉप पर पोस्ट नहीं किया गया था। एक बार जब वह वहां नहीं था - आप कैसे बताते हैं कि आप किस संस्करण का निर्माण कर रहे हैं?

यह एक समस्या के रूप में अधिक हो जाएगा क्योंकि Microsoft नए अपडेट तंत्र के साथ अधिक बिल्ड जारी करना शुरू कर देता है।


मुझे विश्वास नहीं है कि अपडेट बिल्ड नंबर को बदल देते हैं।
जॉयक्वेरी

जवाबों:


19

GUI: सेटिंग्स, सिस्टम, अबाउट

यकीन नहीं होता कि यह 'उचित' तरीका है, लेकिन आप इस cmd के माध्यम से Win10 मुखर / बात-चीत 'संस्करण' (1511, 1607, आदि) प्राप्त कर सकते हैं :

Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId

यहां Microsoft के पेज को बिल्ड संख्या को Win10 'वर्जन' ( बैकअप लिंक [विकी] सिर्फ मामले में ) के सहसंबंधित करने के लिए ) है। जब मुझे दूरस्थ PC से # निर्माण करने में मदद मिली:wmic /node:HOSTNAME os get BuildNumber


6
धन्यवाद - जिसने मुझे बहुत मदद की। बस इस मामले के लिए - आपके आदेश का PowerShell संस्करण होगा(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ReleaseId).ReleaseId
एंटोन क्राउग्लोव

यह विंडोज 10 एंटरप्राइज एलटीएसबी पर काम नहीं करता है। केवल समाधान जो कि
पॉवरशेल

मैं खुद LTSB चला रहा हूं और यह मेरे लिए काम करता है?
ग्रैग

यह मेरे नवीनतम विंडोज 10 प्रो में या तो काम नहीं कर रहा है: 10.0.17730.1000 (यानी 17730 का निर्माण) पर यह देता है ReleaseId REG_SZ 1803यह और यह काम करता है
phulv

@AntonKrouglov रिहाई आईडी और है कि नहीं वर्तमान बिल्ड। आप उपयोग करने की जरूरत है (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name CurrentBuildNumber).CurrentBuildNumberया (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name CurrentBuild).CurrentBuildके लिए बिल्ड नंबर
phuclv

9

विंडोज 10 के संस्करण या बिल्ड नंबर की जाँच करना बहुत मददगार नहीं है क्योंकि यह समय के साथ नहीं बदलता है।

यह पता चला कि पहला वाक्य गलत है; यह विंडोज़ के सभी पिछले संस्करणों में सच था, लेकिन अब हम एक नई विंडोज 10 दुनिया में हैं। नवीनतम अंदरूनी सूत्रों का निर्माण 10525"आरटीएम" की तुलना में बिल्ड संख्या है 10240:।

कमांड लाइन पर बिल्ड नंबर प्राप्त करने के कई तरीके हैं:

systeminfo.exe
(Get-CimInstance -ClassName Win32_OperatingSystem -Namespace root/cimv2).BuildNumber
(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name CurrentBuild).CurrentBuild

तीनों में से अंतिम सबसे तेज है।

यदि आप GUI पसंद करते हैं, तो आप winver.exe या अधिकांश विंडोज डेस्कटॉप अनुप्रयोगों Aboutके Helpमेनू में प्रविष्टि का उपयोग कर सकते हैं ।

किसी भी अधिक सर्विस पैक के साथ, ओएस पर पैच-स्तर स्थापित अपडेट पर निर्भर करता है। इन्हें खोजने के कई तरीके हैं, GUI, systeminfo.exe, wmi, आदि।

इस तरह से चीजों को करने का अनुशंसित और सबसे शक्तिशाली तरीका PowerShell का उपयोग कर रहा है:

Get-HotFix

कुछ इस तरह दिखाता है:

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

आप पिछले 10 दिनों में अपडेट के लिए फ़िल्टर कर सकते हैं:

Get-Hotfix | Where {$_.InstalledOn -gt $(Get-Date).AddDays(-10) -and $_.Description -eq "Update"}

या अंतिम तीन स्थापित अद्यतन दिखाएं:

Get-Hotfix | Sort-object InstalledOn -Descending | Select -First 3

आप जाँच सकते हैं कि क्या कोई विशिष्ट अद्यतन स्थापित है:

if ((get-hotfix -id kb3087916) -ne $null) {"patched..."}

आप सबसे पहले नवीनतम पैच kb नंबर ऑनलाइन पा सकते हैं जैसे:

(New-Object Net.WebClient).DownloadString('https://microsoft.com/...')

और फिर जांचें कि क्या यह मशीन पर मौजूद है।

नोट: यह सिर्फ एक उदाहरण है। मुझे ऐसे पृष्ठ का पता नहीं है, जो वर्तमान में इन्हें सूचीबद्ध करता है, और आपको अभी भी इसे पार्स करना है।

सवाल यह है: क्या समय के साथ, माइक्रोसॉफ्ट विंडोज 10 की कार्यक्षमता को इतना बदल देगा कि आपको अपने ऐप या स्क्रिप्ट को काम करने के लिए इसकी जांच करनी होगी।

यह जांचने के लिए एक बेहतर विचार हो सकता है कि क्या आपको एक विशिष्ट सुविधा की आवश्यकता है जो सिस्टम पर मौजूद है, बजाय एक संस्करण संख्या के देखने के लिए।


"यह विंडोज के सभी पिछले संस्करणों में सच था" वास्तव में, यह विंडोज 95 के बाद से सच नहीं है, कम से कम। विंडोज 95 और विंडोज 95 ओएसआर 2 में अलग-अलग बिल्ड नंबर थे। जैसा कि विंडोज 98 और विंडोज 98se था। जैसा कि Windows XP, Windows XP SP1, Windows XP SP2, और इसी तरह।
क्लिफ आर्मस्ट्रांग

8

WMI में वर्तमान में ऐसे गुण नहीं हैं जिनका उपयोग विंडोज 10 संस्करण (जैसे 1607) या पूर्ण बिल्ड नंबर (जैसे 10.0.14393.577) को पूरी तरह से पहचानने के लिए किया जा सकता है। के रूप में अन्य टिप्पणी में कहा गया है, यह जानकारी है इस कुंजी के अंतर्गत रजिस्ट्री में दिखाई देते हैं:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

उस कुंजी में निम्नलिखित मान winver.exe प्रोग्राम द्वारा प्रदर्शित जानकारी के अनुरूप हैं:

ReleaseID = Version (name based on year/month of release: 1507, 1511, 1607, 1703, etc.)
CurrentBuild or CurrentBuildNumber = OS Build (part before period)
UBR = OS Build (part after period)

इसके अतिरिक्त, संस्करण संख्या उस रजिस्ट्री कुंजी से इन दो मूल्यों में हैं:

CurrentMajorVersionNumber = 10
CurrentMinorVersionNumber = 0

जब संस्करण (जैसे 1607) बदलता है या जब अंदरूनी सूत्र स्थापित होते हैं तो बिल्ड बदल जाता है। हालाँकि, यूबीआर (अपडेट बिल्ड रिविजन) कुछ अपडेट के साथ बदलता है जैसा कि Microsoft की रिलीज़ सूची में दर्शाया गया है

PowerShell में,

[System.Environment]::OSVersion.Version

मेजर, माइनर लौटाता है, और रजिस्ट्री कुंजी के समान निर्माण करता है, लेकिन यह हमेशा संशोधन की रिपोर्ट करता है। 0. Reddit उपयोगकर्ता का एक बिट कोड पर्याप्त प्रतिस्थापन प्रदान करता है जिसमें संशोधन संख्या के रूप में रजिस्ट्री से UBR शामिल है:

$WinVer = New-Object -TypeName PSObject
$WinVer | Add-Member -MemberType NoteProperty -Name Major -Value $(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' CurrentMajorVersionNumber).CurrentMajorVersionNumber
$WinVer | Add-Member -MemberType NoteProperty -Name Minor -Value $(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' CurrentMinorVersionNumber).CurrentMinorVersionNumber
$WinVer | Add-Member -MemberType NoteProperty -Name Build -Value $(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' CurrentBuild).CurrentBuild
$WinVer | Add-Member -MemberType NoteProperty -Name Revision -Value $(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' UBR).UBR
$WinVer

@ रामदूत यानी उनका पूरा जवाब ?!
ओल्डमुड0

@ oldmud0 बेशक नहीं; वहाँ कुछ है जो स्वीकार्य है
रामहुंड

@ राममाउंड प्रतिक्रिया के लिए धन्यवाद। मैंने कुछ क्रॉफ्ट काट दिया। यदि यह अभी भी क्रिया है, तो मुझे बताएं।
शेम सरजेंट

यह सही जवाब है। इसमें रिलीजआईडी (जैसे 1607), बिल्ड (जैसे 14393), और यूबीआर (प्रत्येक मासिक रिलीज के साथ परिवर्तन करने वाली संख्या) शामिल हैं। ध्यान दें कि रिलीज़आईडी और बिल्ड बेमानी हैं कि दोनों के बीच 1-1 मानचित्रण है; मैं Microsoft से कुछ पढ़ना पसंद करूंगा क्योंकि ये दोनों संख्याएँ क्यों मौजूद हैं।
aggieNick02

5

मुझे यह कुछ बार पूछा गया तो मैंने सोचा कि मैं इसे पोस्ट करूंगा। इसके तीन तरीके हैं।

  1. Winver.exe चलाएं
  2. Ver.exe चलाएँ
  3. रजिस्ट्री की जाँच करें

अधिक जानकारी के लिए यहाँ देखें: http://mybodytsonit.com/2015/07/what-build-version-of-windows-10-am-i-running/


2
दुर्भाग्य से Microsoft संचयी अद्यतन संस्करण को निर्धारित करने के लिए एक तंत्र प्रदान नहीं करता है। चूंकि वे वास्तव में किसी भी लंबे समय तक ऑपरेटिंग सिस्टम सर्विस पैक प्रदान नहीं करते हैं, इसलिए यह उपयोगी जानकारी होगी। एक वैकल्पिक रोलअप संस्करण के लिए क्वेरी करने के लिए WMIC कमांड का उपयोग करने का एक विकल्प होगा। उदाहरण के लिए WMIC QFE GET HotfixID, InstalledOn, Description | FINDSTR /I "KB3081438"निर्धारित करने के लिए अगस्त 15, 2015 CU स्थापित किया गया है। खाली इंस्टाल्डऑन डेट इंगित करती है कि उन्होंने इंस्टॉलेशन पूरा करने के लिए सिस्टम को रीस्टार्ट नहीं किया है।
ग्रेग अस्केव

1
वें बिल्डनंबर 10240 अपडेट के साथ नहीं बदलता है। कर्नेल को अपडेट मिलने पर अंतिम संख्या 16xxx बदल जाती है।
जादूंद्रे

2
मेरी पुस्तक में यह एकमात्र सही सही उत्तर है। इसके दावों के बावजूद कि यह "संचयी अद्यतन संस्करण" को प्रदर्शित नहीं करता है, यह वास्तव में करता है, अब आपको यह जानने की आवश्यकता है कि वास्तव में वर्तमान निर्माण क्या है, इसकी तुलना करने के लिए, लेकिन कोई भी अन्य उत्तर उस समस्या से भी नहीं निपटता है।
रामहाउंड

कमांडलाइन पर रनिंग विनर एक आकर्षण की तरह काम करता है। धन्यवाद!
एंड्रियास

यह विंडोज 10 LTSB के लिए काम नहीं करेगा
phuclv

2

पहले से पोस्ट किए गए तरीकों में से कोई भी काम नहीं करता है, और उनमें से कोई भी ओएस बिल्ड नहीं देता है जैसा कि सेटिंग्स में दिखाई देता है → अनुभाग के बारे में । यह संचयी अद्यतन जानकारी गुम है।

आप ऐसा कुछ कर सकते हैं

$OSmBuild = (Get-WmiObject Win32_OperatingSystem).Version

if($OSmBuild -eq '10.0.10586')
{
    # Windows 10.0.10586.0
    $164 = Get-HotFix | where { $_.HotFixID -eq 'KB3140768' }
    $122 = Get-HotFix | where { $_.HotFixID -eq 'KB3140743' }
    $104 = Get-Hotfix | where { $_.HotfixID -eq 'KB3135173' }

    if($104 -and (!($122)) -and (!($164)))
    {
        Write-Host '104 installed'
    }
    elseif($104 -and $122 -and (!($164)))
    {
        Write-Host '122 installed'
    }
    elseif($104 -and $122 -and $164)
    {
        Write-Host '164 installed'
    }
}

पॉवरशेल स्क्रिप्ट में, लेकिन यह कुछ ऐसा लेता है जो हमेशा एक-लाइनर रहा है, और इसे मॉनिटर करना अधिक कठिन है। आप यहां अपडेट देख सकते हैं:

विंडोज 10 अद्यतन इतिहास

उम्मीद है कि Microsoft अपने पैच अपडेट करेगा ताकि वे BuildNumber को संशोधित करना शुरू कर दें।


"उम्मीद है कि Microsoft अपने पैच को अपडेट करेगा, ताकि वे BuildNumber को संशोधित करना शुरू कर दें" जो कि 29 जुलाई 2015 से हुआ था ......
रामहाउंड

@ राम 29 जुलाई 2015 से ऐसा हुआ है या नहीं? जब भी मैं Win32_OperatingSystem.Version को कॉल करता हूं, तो मुझे OS बिल्ड नंबर नहीं मिलता है, मुझे 10.0.10586.0 मिलता है जब OS सेटिंग में बनता है> सिस्टम> लगभग 10.0.10586.164
d4rkcell

थ्रेशोल्ड 2 तक निर्माण नहीं बदला। थ्रेशोल्ड 2 के बाद से, बिल्ड नंबर संचयी पैच के साथ बदल गया है। मैंने कभी नहीं कहा कि Win32_OperatingSystem.Versionआपको जिस तरह से वर्णन करना चाहिए वह काम करना चाहिए लेकिन निर्माण प्रति बदल रहा है winver(दूसरे शब्दों में मैं कह रहा हूं कि आपकी स्क्रिप्ट गलती पर है)।
रामहाउंड

नहीं, यह UI में नहीं है, लेकिन WMI में विशेष रूप से जब Win32_OperatingSystem को उद्धृत करते हुए यहां संस्करण संख्या अभी भी 10.0.10586 कहती है और BuildNumber अभी भी 10586 कहता है। मैं एक मशीन पर हूं, जिसमें सेटिंग्स> सिस्टम ओएस के बारे में OSBuild 10510.164 है खंड लेकिन WMI में यह नहीं है। तुम क्यों नहीं मैं क्या टाइप पढ़ा?
d4rkcell

1

क्या msinfo32.exe अभी भी लगभग (8.1 के रूप में) था? कई आसान जानकारी देता है, जिसमें सीरियल # और मॉडल नंबर शामिल हैं जो लैपटॉप के लिए बहुत मदद कर सकते हैं।


(यदि यह है, तो यह सिस्टम सारांश क्षेत्र में ओएस नाम के तहत शीर्ष पर होगा।)
radiks32

लेकिन यह सिर्फ GUI शुरू करता है और कमांड लाइन समाधान नहीं है
phuclv

1

आप रजिस्ट्री से संस्करण खींच सकते हैं। यहाँ ऐसा करने के लिए एक PowerShell स्निपिट है:

function Get-RegistryValue($key, $value) {
(Get-ItemProperty $key $value).$value
}
$a1 = Get-RegistryValue "HKLM:\software\microsoft\windows nt\currentversion" CurrentBuild
$a2 = Get-RegistryValue "HKLM:\software\microsoft\windows nt\currentversion" UBR
Write-Host Version $a1'.'$a2

1

पॉवरशेल हमेशा उत्तर होता है:

Get-CimInstance win32_operatingsystem

अधिक जानकारी:

Get-CimInstance Win32_OperatingSystem | Select-Object buildnumber,version

यह दिखाता है:

बिल्डनंबर संस्करण
----------- -------
10240 10.0.10240

आप इसका उपयोग वास्तव में उस जानकारी को जल्दी से प्राप्त करने के लिए कर सकते हैं, साथ ही, आप इसे एक फंक्शन में बना सकते हैं और ज़रूरत पड़ने पर अपने पूरे बेड़े से उस जानकारी को हड़पने के लिए उपयोग कर सकते हैं।


2
यह उत्तर थोड़ा और स्पष्टीकरण का उपयोग कर सकता है।
कैस्परड

0

AD डोमेन में, आप PowerShell के Get-ADComputer cmdlet का उपयोग कर सकते हैं

Get-ADComputer -Filter {OperatingSystem -eq "Windows 10 Pro"} -Property * | Format-Table Name,OperatingSystem,OperatingSystemVersion -Wrap -Auto

0

आप बिल्ड क्वेरी के लिए एक आदेश में रेज क्वेरी का उपयोग कर सकते हैं, उदाहरण के लिए, 1607:

for /f "usebackq skip=2 tokens=3" %f in (`reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseID`) do (set buildver=%f)

यह वर्तमान शीर्ष मतदान समाधान की तरह काम नहीं करता है । 1607 है नहीं बिल्ड संस्करण जो है "ओएस निर्माण" के साथ एक
phuclv

0

विंडोज 10 संस्करण को प्रदर्शित करने का तरीका खोजने और एकल दूरस्थ कंप्यूटर के लिए इसके संशोधन की कोशिश करने में, मैंने देखा कि PowerShell के संस्करण संशोधन ने विंडोज संशोधन का पालन किया।

इसने मुझे निम्नलिखित स्क्रिप्ट का निर्माण करने के लिए प्रेरित किया। मैंने यह जानने के लिए एक परीक्षण जोड़ा कि क्या दूरस्थ कंप्यूटर को अद्यतन पूर्ण होने के लिए पुनः आरंभ करने की आवश्यकता है।

$OSChecked = (Read-Host "Computer Name?")
if (Test-Connection -ComputerName $OSChecked -Count 1 -ErrorAction SilentlyContinue)
{
    if ($((Get-Service WinRM -ComputerName $OSChecked).Status) -eq "stopped")
    {
        (Get-Service WinRM -ComputerName $OSChecked).Start()
    }
    Write-Host "`n$((Get-WmiObject win32_computersystem -ComputerName $OSChecked).Name) " -NoNewline ; Invoke-Command -ComputerName $OSChecked -ScriptBlock{if (Get-Item "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired" -ErrorAction SilentlyContinue) {Write-Host "Restart Required!" -BackgroundColor DarkYellow -ForegroundColor White}}
    Invoke-Command -ComputerName $OSChecked -ScriptBlock{Write-Host "Version $((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ProductName) $((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId), revision $(($PSVersionTable).PSVersion.Revision)"}
}

यह इस प्रकार का परिणाम देता है:

Computer_Name Version Windows 10 Enterprise 1703, revision 296

किसी AD डोमेन में, आप अपने एकल <Computer_Name> को एक ऐसे वेरिएबल से बदल सकते हैं, जिसमें OU के पूरे कंप्यूटर होते हैं।


आप इतनी जटिल स्क्रिप्ट क्यों लिखते हैं? यह मेरे स्थानीय पीसी पर काम नहीं करता है जो किसी भी डोमेन में शामिल नहीं है। और उपयोगकर्ताओं को कंप्यूटर का नाम टाइप करने के लिए कहना अनुकूल नहीं है। ऐसा लगता है कि यहां एकमात्र महत्वपूर्ण कमांड है Write-Host "Version $((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ProductName) $((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId), revision $(($PSVersionTable).PSVersion.Revision)", लेकिन यह मुझे Windows 10 Pro 1803, revision 100010.0.17730.1000 पर देता है जो गलत है। बिल्ड वर्जन १ build build३०
v:41 पर phuclv

स्पष्ट रूप से आपके पास दो सुपर उपयोगकर्ता खाते हैं: फ्रांत्ज कोपनिक और फ्रांत्ज कोपनिक । यह टिप्पणी करने, अपने स्वयं के पदों को संपादित करने और एक उत्तर को स्वीकार करने में हस्तक्षेप करेगा। कृपया इस सहायता केंद्र ट्यूटोरियल का उपयोग करने के लिए समय लें और सुपर उपयोगकर्ता कर्मचारियों से अपने खातों को मर्ज करने के लिए कहें।
रॉबिनटेकस

-1

हमें यह सत्यापित करने की आवश्यकता है कि अनुपालन के लिए कौन सा संचयी पैच स्थापित है। गेट-हॉटफिक्स काम करता है का उपयोग कर, लेकिन बाद में संचयी पैच स्थापित है, तो समस्याओं का कारण बनता है। सबसे अच्छा समाधान यह है कि बिल्ड नंबर की तुलना करें, जिसमें हॉटफिक्स भाग शामिल है। कमांड लाइन द्वारा इसे प्राप्त करने का एकमात्र तरीका कमांड प्रॉम्प्ट वर्म कमांड का उपयोग करना है जो पावरशेल में सीधे काम नहीं करता है।

$verstring = cmd.exe /c ver
[version]$Winbuild = [regex]::Match($verstring,"(\d+\.\d+\.\d+\.\d+)").value
if ($verstring -ge [version]"10.0.16299.755") {write-host "Compliant"}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.