পাওয়ারশেল কমান্ড লাইন থেকে কীভাবে উইন্ডোজ সংস্করণটি পাওয়া যায়


133

আমি কোন উইন্ডোজ সংস্করণটি ব্যবহার করছি তা কীভাবে খুঁজে পাব?

আমি পাওয়ারশেল ২.০ ব্যবহার করছি এবং চেষ্টা করেছি:

PS C:\> ver
The term 'ver' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify tha
t the path is correct and try again.
At line:1 char:4
+ ver <<<< 
    + CategoryInfo          : ObjectNotFound: (ver:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

আমি এটা কিভাবে করবো?


4
আপনি 2019+ এ এই দেখছেন, তবে উত্তর হবে যে উপেক্ষা করা হিসাবে চিহ্নিত সঠিক এবং সরাসরি যেতে যে হয় সঠিক । আপনাকে স্বাগতম.
BrainSlugs83

উত্তর:


186

আপনার কাছে। নেট লাইব্রেরিতে অ্যাক্সেস রয়েছে তাই আপনি এই তথ্য পেতে শ্রেণীর OSVersionসম্পত্তি অ্যাক্সেস করতে পারেন System.Environment। সংস্করণ নম্বর জন্য, Versionসম্পত্তি আছে।

উদাহরণ স্বরূপ,

PS C:\> [System.Environment]::OSVersion.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
6      1      7601   65536

উইন্ডোজ সংস্করণগুলির বিবরণ এখানে পাওয়া যাবে


4
লক্ষ্য করুন [Environment]::OSVersionকাজ জানালা-10 , OSVersion.Version.Majorআয় 10.
yzorg

4
আমি যখন winverএটি চালায় এটি আমাকে সংস্করণ 1607 দেখায় But তবে উপরের পাওয়ারশেল কমান্ডটি 1607 দেয় না Pow পাওয়ারশেলের এই "1607" নম্বরটি আমি কোথায় পাব?
সিএমসিডিগ্রাগনকাই

6
@ সিএমসিডিগ্রাগনকাই(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ReleaseId).ReleaseId
আন্তন ক্রোগলভ

3
এই পদ্ধতিটি উইন্ডোজ 8.1 হিসাবে অবহেলা করা হয়েছিল। বিস্তারিত জানার জন্য এই লিঙ্কটি দেখুন ।
স্লগমিস্টার এক্সট্রাওর্ডিনার

1
@ স্লগমিস্টারএক্সটোরর্ডাইনায়ার কমান্ডটি হ্রাস [System.Environment]::OSVersionকরা হয়নি, পটভূমিতে এটি যে পদ্ধতিটি ব্যবহার করে তা হ্রাস করা হয়েছে। নতুন পিএস সংস্করণগুলি ব্যাকএন্ড আচরণটি পরিবর্তন করছে: github.com
র্যান্ডি

109
  1. জেফ তার উত্তরে নোট হিসাবে উইন্ডোজ সংস্করণ নম্বর পেতে , ব্যবহার করুন:

    [Environment]::OSVersion

    এটি লক্ষণীয় যে ফলাফলটি টাইপযুক্ত [System.Version], সুতরাং উইন্ডোজ 7 / উইন্ডোজ সার্ভার 2008 আর 2 এবং পরে এটি পরীক্ষা করা সম্ভব

    [Environment]::OSVersion.Version -ge (new-object 'Version' 6,1)

    তবে এটি আপনাকে ক্লায়েন্ট বা সার্ভার উইন্ডোজ বা সংস্করণের নাম কিনা তা বলবে না।

  2. ডাব্লুএমআই এর Win32_OperatingSystemক্লাস ব্যবহার করুন (সর্বদা একক উদাহরণ):

    (Get-WmiObject -class Win32_OperatingSystem).Caption

    কিছু ফিরে আসবে

    মাইক্রোসফ্ট ® উইন্ডোজ সার্ভার® ২০০ স্ট্যান্ডার্ড


61

দুর্ভাগ্যক্রমে অন্যান্য উত্তরগুলির বেশিরভাগ উইন্ডোজ 10-তে নির্দিষ্ট তথ্য সরবরাহ করে না।

উইন্ডোজ 10 এর নিজস্ব সংস্করণ রয়েছে: 1507, 1511, 1607, 1703, ইত্যাদি । এটিই winverদেখায়।

Powershell:
(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId

Command prompt (CMD.EXE):
Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ReleaseId

সুপারসার সম্পর্কিত সম্পর্কিত প্রশ্নও দেখুন ।

অন্যান্য উইন্ডোজ সংস্করণ ব্যবহার হিসাবে systeminfo। পাওয়ারশেল মোড়ক:

PS C:\> systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List


OS Name             : Microsoft Windows 7 Enterprise
OS Version          : 6.1.7601 Service Pack 1 Build 7601
OS Manufacturer     : Microsoft Corporation
OS Configuration    : Standalone Workstation
OS Build Type       : Multiprocessor Free
System Type         : x64-based PC
System Locale       : ru;Russian
Hotfix(s)           : 274 Hotfix(s) Installed.,[01]: KB2849697,[02]: KB2849697,[03]:...

একই কমান্ডের জন্য উইন্ডোজ 10 আউটপুট:

OS Name             : Microsoft Windows 10 Enterprise N 2016 LTSB
OS Version          : 10.0.14393 N/A Build 14393
OS Manufacturer     : Microsoft Corporation
OS Configuration    : Standalone Workstation
OS Build Type       : Multiprocessor Free
System Type         : x64-based PC
System Directory    : C:\Windows\system32
System Locale       : en-us;English (United States)
Hotfix(s)           : N/A

3
winverডেস্কটপে এবং systeminfo সার্ভারে এটি মনে রাখা সহজ । এটি আমাকে বছরের পর বছর ধরে বিস্মিত করেছে যে এই তথ্য পাওয়ার কোনও অভিন্ন উপায় নেই।
মর্টেনবি

2
এমএস তথ্যের দুর্দান্ত লিঙ্কগুলি যা আসলে কার্যকর। এটা লক্ষনীয় Win8.1 (এবং নিচের?) জন্য তথ্য প্রদর্শিত নেই যে: OS Version : 6.3.9600 N/A Build 9600। সুতরাং ডাব্লু 81 এর নীচের সংস্করণগুলিতে, (সর্বদা অবহেলিত) এলটিএসবি সংস্করণগুলি দেখা আরও তথ্যমূলক হতে পারে। থেকে আউটপুট দেখুন: (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").BuildLabExমত চেহারা হতে পারে: 9600.19179.amd64fre.winblue_ltsb_escrow.181015-1847। আমার অনুমান যে 181015অংশটি বিল্ডের তারিখ, সেখানে 1847বিল্ড বা প্রকাশ সংস্করণ। আপনার এটিকে কার্নেল, হাল দিয়ে তুলনা করতেও পারে ।
not2qubit

26
Get-WmiObject -Class Win32_OperatingSystem | ForEach-Object -MemberName Caption

বা গল্ফড

gwmi win32_operatingsystem | % caption

ফলাফল

মাইক্রোসফ্ট উইন্ডোজ 7 আলটিমেট

4
নতুন কোডে গেট-ডাব্লুআইবজেক্টের পরিবর্তে গেট-সিমআইনস্ট্যান্স ব্যবহার করার পরামর্শ দেওয়া হচ্ছে।
ডের_মিস্টার

2
@ ডের_মিস্টার এটি PSV3 + এর জন্যই সত্য
ম্যাক্সিমিলিয়ান বার্সলে

20

এটি আপনাকে উইন্ডোজের সম্পূর্ণ সংস্করণ দেবে (সংশোধন / বিল্ড নম্বর সহ) উপরের সমস্ত সমাধানগুলির চেয়ে পৃথক:

(Get-ItemProperty -Path c:\windows\system32\hal.dll).VersionInfo.FileVersion

ফলাফল:

10.0.10240.16392 (th1_st1.150716-1608)

5
যতটা আমি উদ্বিগ্ন এটি এটিই সেরা সমাধান কারণ এটি সংশোধন নম্বরটি সঠিকভাবে জানাচ্ছে। অন্যদের কেউই নেই (অন্তত আমি তাদের পরীক্ষা করে দেখেছি)।
বিএসটিহাম

6
এটি এখন পর্যন্ত একমাত্র সমাধান যা আমাকে সম্পূর্ণ বিল্ড নম্বর পেতে অনুমতি দিয়েছে। তবে , সিস্টেম 32-এ থাকা সমস্ত ফাইল প্রতিটি আপডেটের সাথে আপডেট হয় না - উদাহরণস্বরূপ, আমার hal.dll এখনও দেখায় 10.0.10586.0 (th2_release.151029-1700), যখন উইনলোড.এক্সে রয়েছে 10.0.10586.63 (th2_release.160104-1513)
melak47

2
একটি ছোট্ট স্ক্রিপ্ট থেকে সংস্করণ সংগ্রহ এর Dll সর্বোচ্চ বিল্ড তারিখ / EXE: সারকথা
melak47

6
এটি মাইক্রোসফ্টের পক্ষের একটি বাস্তবায়নের বিশদের উপর নির্ভর করে যা তারা চালিয়ে যাওয়ার কোনও গ্যারান্টি নেই। এটি এখন কাজ করে তবে আপনি যদি আপনার স্ক্রিপ্টটি দীর্ঘ সময় ধরে কাজ করতে চান তবে আপনার উপর নির্ভর করা উচিত।
নিক

1
@ জয়কুল ভাল, আমি 2 কারণে সম্মত হই না। (1) কারণ "1803" -র মতো নম্বরগুলি সর্বদা উপলব্ধ থাকে না (যেমন উইন 8 এ), সুতরাং সেখানে কী ব্যবহার করা উচিত? (২) কেবল একটি সঠিক হওয়া উচিত এমন কোনও প্রযুক্তিগত কারণ নেই version। ওএসগুলি অংশ দ্বারা যেমন তৈরি করা হয়েছে (এবং আপডেট হয়েছে), যেমন কার্নেল, এইচএল, ইউবিআর এবং অন্যান্য বৈশিষ্ট্য ইত্যাদি So সুতরাং আমাদের সত্যই তাদের সমস্ত প্রদর্শন করা উচিত। সেই বিষয়ে আমি মনে করি BuildLabEx, Kernelএবং HAL(সেই ক্রমে) আরও উপযুক্ত সংস্করণ দেওয়ার সবচেয়ে উপযুক্ত উপায় । আপনি যেহেতু ভুল জানেন তা যেহেতু আপনি সঠিক তা পোস্ট করা উচিত ।
not2qubit

18
Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer

আয়

WindowsProductName    WindowsVersion OsHardwareAbstractionLayer
------------------    -------------- --------------------------
Windows 10 Enterprise 1709           10.0.16299.371 

@ not2qubit সত্যিই? আমার সারফেস বুক 2
এরিক হার্লিটজ

14

পাওয়ারশেল 5:

Get-ComputerInfo
Get-ComputerInfo -Property Windows*

আমি মনে করি এই কমান্ডটি এখন পর্যন্ত সিস্টেমের তথ্য সংগ্রহের জন্য 1001 টি বিভিন্ন উপায়ে আবিষ্কার করা বেশ চেষ্টা করেছে ...


এর থেকে আমি যে প্রতিক্রিয়া পেয়েছি তার অংশটি আজব ... আমি উইন্ডোজ 10 1909 এ আছি, তবে "উইন্ডোজকন্টেন্টভার্সন" 6.3। আমি মনে করি এটি 10 ​​হবে, 6.3 উইন্ডোজ 8.1 হিসাবে। অন্যথায়, আমি এই আদেশটি দ্বারা সরবরাহিত তথ্য পছন্দ করি
র্যান্ডি

8

আপনি যদি উইন্ডোজ 8.1 (6.3.9600) এবং উইন্ডোজ 8 (6.2.9200) ব্যবহারের মধ্যে পার্থক্য করতে চান

(Get-CimInstance Win32_OperatingSystem).Version 

সঠিক সংস্করণ পেতে। [Environment]::OSVersionউইন্ডোজ 8.1 এ সঠিকভাবে কাজ করে না (এটি একটি উইন্ডোজ 8 সংস্করণ দেয়)।


লক্ষ্য করুন [Environment]::OSVersionকাজ জানালা-10 , OSVersion.Version.Majorআয় 10.
yzorg

1
উভয়ই (Get-CimInstance Win32_OperatingSystem).Versionএবং [Environment]::OSVersionআমার পক্ষে কাজ করে এবং একই ফলাফলটি ফেরত দেয়: 6.3.9600.0
VirtualVDX

দুর্ভাগ্যক্রমে 6.3.9600 কেবল উইন 8.1 নয়, সার্ভার 2012 আর 2ও এই একই বিল্ড নম্বরটি দেয়।
বাইটজেঙ্কি

8

আমি একটি উত্তর পরিমার্জন করছি

Winver.exe থেকে আউটপুটটি মিলানোর চেষ্টা করার সময় আমি এই প্রশ্নটিতে পৌঁছেছি:

Version 1607 (OS Build 14393.351)

আমি এর সাথে বিল্ড স্ট্রিংটি বের করতে সক্ষম হয়েছি:

,((Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name BuildLabEx).BuildLabEx -split '\.') | % {  $_[0..1] -join '.' }  

ফলাফল: 14393.351

আপডেট হয়েছে : এখানে রেজিেক্স ব্যবহার করে কিছুটা সরলীকৃত স্ক্রিপ্ট দেওয়া আছে

(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").BuildLabEx -match '^[0-9]+\.[0-9]+' |  % { $matches.Values }

5

আমি উপরের স্ক্রিপ্টগুলি নিয়েছি এবং এগুলি সামনে আসার জন্য তাদের কিছুটা টুইট করেছি:

$name=(Get-WmiObject Win32_OperatingSystem).caption
$bit=(Get-WmiObject Win32_OperatingSystem).OSArchitecture

$vert = " Version:"
$ver=(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId

$buildt = " Build:"
$build= (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").BuildLabEx -match '^[0-9]+\.[0-9]+' |  % { $matches.Values }

$installd = Get-ComputerInfo -Property WindowsInstallDateFromRegistry

Write-host $installd
Write-Host $name, $bit, $vert, $ver, `enter code here`$buildt, $build, $installd

এর মতো ফলাফল পেতে:

মাইক্রোসফ্ট উইন্ডোজ 10 হোম -৪-বিট সংস্করণ: 1709 বিল্ড: 16299.431 @ {উইন্ডোজআইনস্টলডেটফ্রমরেজিস্ট্রি = 18-01-01 2:29:11 এএম}

ইঙ্গিত: আমি একটি হাত ইনস্টলের তারিখ থেকে উপসর্গ পাঠ্য প্রশংসা করব তাই আমি এটি আরও পাঠযোগ্য শিরোনামের সাথে প্রতিস্থাপন করতে পারি।


ইনস্টল ডেট কমান্ডটি চালাতে কিছুটা সময় নেয়, সুতরাং আমি একটি দ্রুত পেলাম: [timezone]::CurrentTimeZone.ToLocalTime(([datetime]'1/1/1970')).AddSeconds($(get-itemproperty "HKLM:\Software\Microsoft\Windows NT\CurrentVersion").InstallDate) এটি কিছুটা জটিল, তবে এটি আরও দ্রুত চালিত হয়। আপনি এমনকি টাইমজোন অংশটি ছেড়ে দিতে সক্ষম হতে পারেন:([datetime]'1/1/1970').AddSeconds($(get-itemproperty "HKLM:\Software\Microsoft\Windows NT\CurrentVersion").InstallDate)
রেন্ডি

4

মুনস্টম যেমন বলেছে, [Environment]::OSVersionআপগ্রেড করা উইন্ডোজ 8.1 (এটি উইন্ডোজ 8 সংস্করণটি ফিরিয়ে দেয়): লিঙ্কে সঠিকভাবে কাজ করে না ।

আপনি যদি উইন্ডোজ 8.1 (6.3.9600) এবং উইন্ডোজ 8 (6.2.9200) এর মধ্যে পার্থক্য করতে চান (Get-CimInstance Win32_OperatingSystem).Versionতবে সঠিক সংস্করণটি পেতে আপনি ব্যবহার করতে পারেন । তবে এটি পাওয়ারশেল ২ তে কাজ করে না So সুতরাং এটি ব্যবহার করুন:

$version = $null
try {
    $version = (Get-CimInstance Win32_OperatingSystem).Version
}
catch {
    $version = [System.Environment]::OSVersion.Version | % {"{0}.{1}.{2}" -f $_.Major,$_.Minor,$_.Build}
}

4

ব্যবহার করুন:

Get-WmiObject -class win32_operatingsystem -computer computername | Select-Object Caption

এটি ব্যবহার করে সংস্করণ নম্বরটিও পেতে পারেন: get-WmiObject -class win32_operatingsystem | সংস্করণ নির্বাচন করুন
কেইআরআর

আপনি আউটপুট দেখিয়ে এই উত্তরটি উন্নত করতে পারেন।
james.garriss

4

আপনি যদি এমএস তাদের প্যাচিং সাইটে যেমন https://technet.microsoft.com/en-us/library/security/ms17-010.aspx- তে এমএস রাখার তথ্য বোঝার চেষ্টা করছেন

আপনার যেমন একটি কম্বো প্রয়োজন হবে:

$name=(Get-WmiObject Win32_OperatingSystem).caption $bit=(Get-WmiObject Win32_OperatingSystem).OSArchitecture $ver=(Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId Write-Host $name, $bit, $ver

মাইক্রোসফ্ট উইন্ডোজ 10 হোম 64-বিট 1703


2

উইন্ডোজ পাওয়ারশেল ২.০:

$windows = New-Object -Type PSObject |
           Add-Member -MemberType NoteProperty -Name Caption -Value (Get-WmiObject -Class Win32_OperatingSystem).Caption -PassThru |
           Add-Member -MemberType NoteProperty -Name Version -Value [Environment]::OSVersion.Version                     -PassThru

উইন্ডোজ পাওয়ারশেল 3.0:

$windows = [PSCustomObject]@{
    Caption = (Get-WmiObject -Class Win32_OperatingSystem).Caption
    Version = [Environment]::OSVersion.Version
}

প্রদর্শনের জন্য (উভয় সংস্করণ):

"{0}  ({1})" -f $windows.Caption, $windows.Version 

2

উইন্ডোজ 10 1809 তে পাওয়ারশেল ভি 5 তে winver.exe তে অভিন্ন আউটপুট উত্পাদন করতে:

$Version = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\'
"Version $($Version.ReleaseId) (OS Build $($Version.CurrentBuildNumber).$($Version.UBR))"

এছাড়াও এটি উইন্ডোজ 10 এর "সেটিংস> সিস্টেম> সম্পর্কে" সংস্করণটির সাথে মিলে যায় এবং আপডেট বিল্ড রিভিশনটি ডান পায়, যা বেশিরভাগ সমাধান আমার মেশিনে নেই 👍
ভিমস


1

এটি সত্যই একটি দীর্ঘ থ্রেড এবং সম্ভবত কারণ সঠিক হলেও উত্তরগুলি মৌলিক প্রশ্নের সমাধান করছে না। আমি এই সাইটটি জুড়ে এসেছি: সংস্করণ এবং বিল্ড নম্বরগুলি যা মাইক্রোসফ্ট উইন্ডোজ জগতের মধ্যে কী কী তার একটি পরিষ্কার ওভারভিউ সরবরাহ করে।

যেহেতু আমার আগ্রহটি হ'ল আমি কোন উইন্ডোজ ওএসের সাথে কাজ করছি তা জানার জন্য, আমি পুরো সংস্করণটি রংধনুটিকে বাদ দিয়ে এর পরিবর্তে বিল্ডনিম্বারে ফোকাস করেছি। বিল্ড নম্বরটি দ্বারা প্রাপ্ত হতে পারে:

([Environment]::OSVersion.Version).Build

অথবা দ্বারা:

(Get-CimInstance Win32_OperatingSystem).buildNumber

পছন্দটি আপনার যা সর্বদা আপনি পছন্দ করেন। সুতরাং সেখান থেকে আমি এর লাইনে কিছু করতে পারলাম:

    switch ((Get-CimInstance Win32_OperatingSystem).BuildNumber) 
{
    6001 {$OS = "W2K8"}
    7600 {$OS = "W2K8R2"}
    7601 {$OS = "W2K8R2SP1"}    
    9200 {$OS = "W2K12"}
    9600 {$OS = "W2K12R2"}
    14393 {$OS = "W2K16v1607"}
    16229 {$OS = "W2K16v1709"}
    default { $OS = "Not Listed"}

}
Write-Host "Server system: $OS" -foregroundcolor Green

দ্রষ্টব্য: আপনি দেখতে পাচ্ছেন যে আমি উপরেরটি কেবল সার্ভার সিস্টেমের জন্য ব্যবহার করেছি, তবে এটি সহজে ওয়ার্কস্টেশনগুলিতে প্রয়োগ করা যেতে পারে বা চালাকভাবে উভয়কে সমর্থন করার জন্য প্রসারিত হতে পারে ... তবে আমি এটি আপনার কাছে রেখে দেব।

উপভোগ করুন, এবং মজা করুন!


0

এটি আপনাকে উইন্ডোজের সম্পূর্ণ এবং সঠিক (একই সংস্করণ নম্বর যা আপনি উইনভার.এক্সি চালানোর সময় খুঁজে পাবেন) অন্যান্য সংস্করণের বিপরীতে (উইন্ডোজ 10-তে পরীক্ষিত) সম্পূর্ণরূপে দেবেন:

Function Get-OSVersion {
Param($ComputerName)
    Invoke-Command -ComputerName $ComputerName -ScriptBlock {
        $all = @()
        (Get-Childitem c:\windows\system32) | ? Length | Foreach {

            $all += (Get-ItemProperty -Path $_.FullName).VersionInfo.Productversion
        }
        $version = [System.Environment]::OSVersion.Version
        $osversion = "$($version.major).0.$($version.build)"
        $minor = @()
        $all | ? {$_ -like "$osversion*"} | Foreach {
            $minor += [int]($_ -replace".*\.")
        }
        $minor = $minor | sort | Select -Last 1

        return "$osversion.$minor"
    }
}

এটি 'লোকালহোস্ট' দিয়ে চালানোতে এবং আমার লোকালহোস্টে প্রকৃত কম্পিউটারের নামটি ('হোস্টনেম' দ্বারা প্রত্যাবর্তিত হিসাবে) ব্যবহার করে - কোনও পরিষেবা ইত্যাদি সক্ষম না করে কোনও স্থানীয় মেশিনের কাছ থেকে তথ্য পেতে দেওয়ার জন্য এই সমাধানটি কি টুইঙ্ক করা সম্ভব?
মনোজোহনি

[xxxxxx] নিম্নলিখিত ত্রুটি বার্তার সাথে রিমোট সার্ভার xxxxxx এ সংযোগ স্থাপন ব্যর্থ হয়েছে: ক্লায়েন্ট অনুরোধে নির্দিষ্ট গন্তব্যের সাথে সংযোগ করতে পারে না। গন্তব্যস্থলে পরিষেবাটি চলছে এবং অনুরোধগুলি গ্রহণ করছে তা যাচাই করুন। গন্তব্যস্থলে চলমান ডাব্লুএস-পরিচালনা পরিষেবাটির জন্য লগ এবং ডকুমেন্টেশনের পরামর্শ নিন, সাধারণত IIS বা WinRM। গন্তব্য যদি উইনআরএম পরিষেবা হয় তবে উইনআরএম পরিষেবাটি বিশ্লেষণ ও কনফিগার করতে গন্তব্যটিতে নিম্নলিখিত কমান্ডটি চালান: "উইনআরএম কুইককনফিগ"। আরও তথ্যের জন্য, [...]
মনোজোহনি

আমার জন্য কাজ করেছেন। সম্মত। এটি একটি নিখুঁত স্ক্রিপ্ট হবে যদি এতে উইন্ডোজ 10 রিলিজ আইডি - 1507, 1511, 1607 ইত্যাদি অন্তর্ভুক্ত থাকে
আন্তন ক্রোগলভ

0

সঠিক সংস্করণটি খুঁজতে আমি অনেক অনুসন্ধান করেছি, কারণ ডাব্লুএসইউ সার্ভারটি ভুল সংস্করণ দেখায়। ইউবিআর রেজিস্ট্রি কেইওয়াই থেকে সংশোধন পাওয়া সবচেয়ে ভাল।

    $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

উইন্ডোজ পাওয়ারশেল ব্যবহার করে, নিম্নলিখিত উপায়ে আপনার প্রয়োজনীয় ডেটা পাওয়া সম্ভব

ক্যাপশন:

(Get-WmiObject -class Win32_OperatingSystem).Caption

ReleaseId:

(Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ReleaseId).ReleaseId

সংস্করণ:

(Get-CimInstance Win32_OperatingSystem).version

0

[মীমাংসিত]

#copy all the code below:
#save file as .ps1 run and see the magic

 Get-WmiObject -Class Win32_OperatingSystem | ForEach-Object -MemberName Caption
 (Get-CimInstance Win32_OperatingSystem).version


#-------------comment-------------#
#-----finding windows version-----#

$version= (Get-CimInstance Win32_OperatingSystem).version
$length= $version.Length
$index= $version.IndexOf(".")
[int]$windows= $version.Remove($index,$length-2)  
$windows
#-----------end------------------#
#-----------comment-----------------#

তাই আপনাকে স্বাগতম! আপনি যখন কোনও প্রশ্নের উত্তর দেন, দয়া করে কিছুটা ব্যাখ্যা করার চেষ্টা করুন। এই ক্ষেত্রে, আরও 20 টি উত্তর রয়েছে যাতে আপনার পেশাদারদের প্রকাশ করার জন্য বিবেচনা করুন।
ডেভিড গার্সিয়া বোডেগো

0

আপনি OSVersion.Version.Major পরীক্ষা করেও এর মতো কিছু ব্যবহার করতে পারেন:

IF ([System.Environment]::OSVersion.Version.Major -ge 10) {Write-Host "Windows 10 or above"}
IF ([System.Environment]::OSVersion.Version.Major -lt 10) {Write-Host "Windows 8.1 or below"}

-2

জিনিসগুলি সরল করতে আপনি পাইথন ব্যবহার করতে পারেন (সমস্ত উইন্ডোজ সংস্করণ এবং অন্যান্য সমস্ত প্ল্যাটফর্মগুলিতে কাজ করে):

import platform

print(platform.system()) # returns 'Windows', 'Linux' etc.
print(platform.release()) # returns for Windows 10 or Server 2019 '10'

if platform.system() = 'Windows':
    print(platform.win32_ver()) # returns (10, 10.0.17744, SP0, Multiprocessor Free) on windows server 2019

প্রশ্নটি " পাওয়ারশেল কমান্ড লাইন থেকে উইন্ডোজ সংস্করণটি কীভাবে সন্ধান করবেন "। এটি সত্যই এই প্রশ্নের উত্তর নয় এবং আপনার এটি মুছে ফেলার বিষয়টি বিবেচনা করা উচিত।
আলেন ও'ডিয়া

-3
$OSVersion = [Version](Get-ItemProperty -Path "$($Env:Windir)\System32\hal.dll" -ErrorAction SilentlyContinue).VersionInfo.FileVersion.Split()[0]

উইন্ডোজ 10-এ রিটার্ন: 10.0.10586.420

তারপরে আপনি দানাদার তুলনার জন্য বৈশিষ্ট্য অ্যাক্সেস করতে ভেরিয়েবলটি ব্যবহার করতে পারেন

$OSVersion.Major equals 10
$OSVersion.Minor equals 0
$OSVersion.Build equals 10586
$OSVersion.Revision equals 420

অতিরিক্ত হিসাবে, আপনি নিম্নলিখিত ব্যবহার করে অপারেটিং সিস্টেম সংস্করণ তুলনা করতে পারেন

If ([Version]$OSVersion -ge [Version]"6.1")
   {
       #Do Something
   }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.