Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

วิธีตรวจสอบเวอร์ชัน .NET Framework ที่ติดตั้งใน Windows

ใน Windows คุณสามารถติดตั้งและรันหลายเวอร์ชันของ .NET Framework พร้อมกันได้ เมื่อพัฒนาหรือปรับใช้แอปพลิเคชันใหม่ที่อิงตามไลบรารี .NET บางครั้งคุณต้องทราบล่วงหน้าว่ามีเวอร์ชันและ Service Pack ของ .Net Framework ไหนติดตั้งอยู่บนคอมพิวเตอร์หรือเซิร์ฟเวอร์ของผู้ใช้แล้ว คุณสามารถรับรายการเวอร์ชัน .NET Framework ที่ติดตั้งบนคอมพิวเตอร์ของคุณได้หลายวิธี

การตรวจสอบเวอร์ชัน .NET Framework ผ่าน Windows Registry

เมื่อคุณติดตั้งหรืออัปเดตเวอร์ชันใดๆ ของ .NET Framework การเปลี่ยนแปลงจะถูกเขียนลงใน Windows Registry

รัน Registry Editor (regedit.exe) และไปที่คีย์รีจิสทรี HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP คีย์รีจิสทีนี้มีข้อมูลเกี่ยวกับเวอร์ชัน .NET ทั้งหมดบนคอมพิวเตอร์ ขยายซับคีย์ใดๆ และสนใจพารามิเตอร์ต่อไปนี้ (สำหรับ .Net 4.x คุณต้องขยายซับคีย์ Full):

  • Install — ธงการติดตั้ง (หากเท่ากับ 1 แสดงว่าเวอร์ชัน .Net นี้ติดตั้งอยู่บนคอมพิวเตอร์)
  • Install Path — ไดเรกทอรีที่ติดตั้งเวอร์ชัน .Net นี้
  • Release — หมายเลขการเผยแพร่ .NET
  • Version — หมายเลขเวอร์ชันเต็มของ .Net Framework

เคล็ดลับ สำหรับ .NET 4.0 และใหม่กว่า หากซับคีย์ Full หายไป หมายความว่าเวอร์ชัน Framework นี้ไม่ได้ติดตั้งบนคอมพิวเตอร์

ในตัวอย่างนี้ คุณเห็นว่า .NET Framework v2.0.50727, 3.0, 3.5 และ 7.0 (release 460805) ติดตั้งอยู่

โปรดทราบว่าในระบบปฏิบัติการเซิร์ฟเวอร์ตั้งแต่ Windows Server 2012 เป็นต้นมา เวอร์ชัน .Net พื้นฐานทั้งหมด (3.5 และ 4.5) ถูกติดตั้งเป็นคุณสมบัติ Windows (การติดตั้ง .NET Framework 3.5 บน Windows Server และ Windows 10) และเวอร์ชันรอง (4.5.1, 4.5.2 ฯลฯ) ถูกติดตั้งเป็นอัปเดตแยกต่างหากผ่าน Windows Update หรือ WSUS

โดยใช้ตารางต่อไปนี้ คุณสามารถแมปหมายเลข release ไปยังเวอร์ชันของ .NET Framework (สำหรับ .NET 4.5 และใหม่กว่า)

Release Number.NET Framework version
378389.NET Framework 4.5
378675NET Framework 4.5.1 on Windows 8.1 and Windows Server 2012 R2
378758.NET Framework 4.5.1 on Windows 8, Windows 7 SP1, Windows Vista SP2
379893.NET Framework 4.5.2
393295.NET Framework 4.6 on Windows 10
393297.NET Framework 4.6
394254.NET Framework 4.6.1 on Windows 10 1511
394271.NET Framework 4.6.1
394802.NET Framework 4.6.2 on Windows 10 1607
394806.NET Framework 4.6.2
460798.NET Framework 4.7 on Windows 10 1703
460805.NET Framework 4.7
461308.NET Framework 4.7.1 on Windows 10 1709
461310.NET Framework 4.7.1
461808.NET Framework 4.7.2 on Windows 10 1803
461814.NET Framework 4.7.2
528372.NET Framework 4.8 on Windows 10 2004, 20H2, and 21H1
528040.NET Framework 4.8 on Windows 10 1903 and 1909
528449.NET Framework 4.8 on Windows Server 2022 and Windows 11
528049.NET Framework 4.8 (Windows อื่นๆ)

.NET Framework 4.8 คือเวอร์ชันล่าสุดที่พร้อมใช้งานของ .NET Framework

วิธีตรวจสอบเวอร์ชัน .NET Framework ด้วย PowerShell

คุณสามารถรับข้อมูลเกี่ยวกับเวอร์ชันและ release ที่ติดตั้งของ NET Framework บนคอมพิวเตอร์ของคุณโดยใช้ PowerShell วิธีที่ง่ายที่สุดในการรับข้อมูลนี้โดยตรงจากรีจิสทรีคือการใช้คำสั่ง Get-ChildItem และ Get-ItemProperty (อ่านเพิ่มเติมเกี่ยวกับการจัดการรายการรีจิสทรีด้วย PowerShell)

เพื่อแสดงรายการเวอร์ชัน .Net Framework ทั้งหมดบนคอมพิวเตอร์ ให้รันคำสั่ง:

Get-ChildItem ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP’ -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match ‘^(?!S)\p{L}’} | Select PSChildName, version

.Net versions 2.0, 3.0, 3.5, และ 4.7 ติดตั้งอยู่บนคอมพิวเตอร์นี้

เริ่มจาก .Net v4.0 เวอร์ชัน Framework ใหม่จะเขียนทับ (แทนที่) เวอร์ชันเก่า นั่นคือ หาก .NET Framework 4.7 ติดตั้งอยู่บนคอมพิวเตอร์ แล้วเมื่อติดตั้ง .NET Framework 4.8 เวอร์ชันเก่าจะถูกแทนที่

คุณสามารถแสดงหมายเลข release เฉพาะสำหรับ (.Net 4.x versions):

(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release

ตามตาราง หมายเลข 528449 ตรงกับ .Net Framework 4.8 บน Windows 11

แสดงรายการเวอร์ชัน .NET ที่ติดตั้งบนคอมพิวเตอร์ระยะไกล

คุณสามารถรับรายการเวอร์ชัน .Net Framework ที่ติดตั้งบนคอมพิวเตอร์ในเครือข่ายของคุณจากระยะไกลโดยใช้ PowerShell

นี่คือสคริปต์ PowerShell ขนาดเล็กที่สอบถามรายการคอมพิวเตอร์จากไฟล์ข้อความและตรวจสอบเวอร์ชัน .Net Framework ที่ติดตั้งจากระยะไกล คำสั่ง WinRM Invoke-Command ใช้สำหรับรันคำสั่งบนคอมพิวเตอร์ระยะไกล

Function GetNetFrameworkVersion {
    Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
    Get-ItemProperty -name Version,Release -EA 0 |
    Where { $_.PSChildName -match '^(?![SW])\p{L}'} |
    Select PSChildName, Version, Release, @{
        name="Product"
        expression={
            switch -regex ($_.Release) {
                "378389" { [Version]"4.5" }
                "378675|378758" { [Version]"4.5.1" }
                "379893" { [Version]"4.5.2" }
                "393295|393297" { [Version]"4.6" }
                "394254|394271" { [Version]"4.6.1" }
                "394802|394806" { [Version]"4.6.2" }
                "460798|460805" { [Version]"4.7" }
                "461308|461310" { [Version]"4.7.1" }
                "461808|461814" { [Version]"4.7.2" }
                "528040|528049|528449|528372" { [Version]"4.8" }
                {$_ -gt 528449} { [Version]"unidentified version (> 4.8)" }
            }
        }
    }
}
$result=@()
$servers= Get-Content C:\Scripts\my_servers.txt
foreach ($server in $servers)
{
    $result+=Invoke-Command -ComputerName $server -ScriptBlock $function:GetNetFrameworkVersion
}
$result| select PSComputerName,@{name = ".NET Framework"; expression = {$_.PSChildName}},Product,Version,Release| Out-GridView

สคริปต์แสดงตารางกราฟิก (ผ่าน Out-GridView) พร้อมรายการเวอร์ชัน .Net Framework ที่ติดตั้งบนคอมพิวเตอร์ระยะไกล

คุณยังสามารถตั้งค่ารายการคอมพิวเตอร์ที่จะตรวจสอบเวอร์ชัน .NET ได้ดังนี้:

$servers= @("comp1","comp2","comp3","comp4")

หรือคุณสามารถรับรายการคอมพิวเตอร์โดเมนด้วยคำสั่ง Get-ADComputer (จากโมดูล Active Directory for Windows PowerShell) คำสั่งต่อไปนี้จะเลือกโฮสต์ Windows Server ที่ทำงานอยู่ทั้งหมดในโดเมน:

$servers= Get-ADComputer -Filter 'operatingsystem -like "*Windows server*" -and enabled -eq "true"'

วิธีหาเวอร์ชัน .NET Framework ด้วย CMD

เวอร์ชัน .NET Framework ทั้งหมดติดตั้งอยู่ในโฟลเดอร์ Windows ต่อไปนี้:

  • %SystemRoot%\Microsoft.NET\Framework
  • %SystemRoot%\Microsoft.NET\Framework64

คุณสามารถเปิดโฟลเดอร์นั้นและดูรายการเวอร์ชัน .NET ที่ติดตั้ง แต่ละเวอร์ชันมีไดเรกทอรีแยกต่างหากกับชื่อโฟลเดอร์เป็น v และหมายเลขเวอร์ชัน คุณสามารถแสดงรายการเวอร์ชัน .NET Framework ที่ติดตั้งจากคำสั่งพร้อมท์:

dir %WINDIR%\Microsoft.Net\Framework\v* /O:-N /B

คำสั่งนี้จะแสดงรายการเวอร์ชันที่ติดตั้งทั้งหมดยกเว้น .NET 4.5 เนื่องจาก Framework 4.5+ ติดอยู่ในซับไดเรกทอรี v4.0.xxxxx