ไม่สามารถดาวน์โหลดจาก URI ข้อผิดพลาดการติดตั้งโมดูล PowerShell
ในคอมพิวเตอร์ Windows 11 หรือ Windows 10 คุณอาจได้รับ ไม่สามารถดาวน์โหลดจาก URI, ข้อผิดพลาดการติดตั้งโมดูล PowerShell เมื่อคุณพยายามเชื่อมต่อกับที่เก็บ PowerShell หรือเรียกใช้ cmdlet โมดูลการติดตั้งเพื่อติดตั้ง แพ็คเกจบนอุปกรณ์ของคุณ โพสต์นี้ให้วิธีแก้ปัญหาที่เหมาะสมที่สุดสำหรับปัญหานี้
เมื่อเกิดข้อผิดพลาดนี้ คุณจะได้รับผลลัพธ์ตามบรรทัดที่คล้ายกันต่อไปนี้
ปัญหานี้มีแนวโน้มที่จะเกิดขึ้นเนื่องจากในขณะที่ Azure และ Office 365 ได้ย้ายไปที่ TLS 1.2 ส่วนประกอบเก่าอื่นๆ ตามค่าเริ่มต้นโดยทั่วไปจะไม่ใช้ TLS 1.2 นี่เป็นหนึ่งในกรณีที่ PowerShell ใช้การกำหนดค่า TLS ที่ไม่ถูกต้อง
ไม่สามารถดาวน์โหลดจาก URI ข้อผิดพลาดการติดตั้งโมดูล PowerShell
ปัญหานี้เกิดขึ้นเมื่อ PowerShell พยายามเชื่อมต่อกับที่เก็บ NuGet โดยใช้โปรโตคอล TLS/SSL เดิมแทน TLS 1.2 ปัจจุบันหรือ TLS 1.3 ที่ใหม่กว่า ดังนั้น หากคุณประสบกับข้อผิดพลาดการติดตั้งโมดูล PowerShell ไม่สามารถดาวน์โหลดจาก URI คุณสามารถลองทำตามคำแนะนำด้านล่างเพื่อแก้ไขปัญหาในระบบของคุณ
ตรวจสอบและอัปเดตเวอร์ชัน PowerShell
ตั้งค่า PowerShell เพื่อใช้ TLS 1.2
มาดูคำแนะนำโดยละเอียดกัน
ก่อนที่คุณจะลองทำตามคำแนะนำด้านล่างตามที่ระบุในเอาต์พุตข้อผิดพลาด ให้ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณเพื่อให้แน่ใจว่าพีซีของคุณไม่มีปัญหาการเชื่อมต่ออินเทอร์เน็ต และแก้ไขปัญหาเครือข่ายและการเชื่อมต่ออินเทอร์เน็ตที่เป็นไปได้บนอุปกรณ์ของคุณ
1. ตรวจสอบและอัปเดตเวอร์ชันของ PowerShell
หากต้องการแก้ไขไม่สามารถดาวน์โหลดจาก URI, ข้อผิดพลาดการติดตั้งโมดูลของ PowerShell บนระบบ Windows 11/10 ของคุณได้อย่างง่ายดายและรวดเร็ว ขั้นแรกให้ตรวจสอบและอัปเดตเวอร์ชัน PowerShell ที่ติดตั้งบนคอมพิวเตอร์ของคุณ หากเวอร์ชัน PowerShell ของคุณคือ 5.1.14xx หรือก่อนหน้า ให้อัปเดต PowerShell
ตามค่าเริ่มต้น PowerShell รุ่นก่อนหน้าจะใช้ SSL 3.0 และ TLS 1.0 เพื่อสร้างการเชื่อมต่อ HTTPS ที่ปลอดภัยไปยังที่เก็บ เมื่อคุณอัปเดต PowerShell แล้ว และคุณเรียกใช้ Install-Module cmdlet เพื่อติดตั้งแพ็คเกจบนอุปกรณ์ของคุณ แต่ข้อผิดพลาดในมุมมองเกิดขึ้นซ้ำ คุณสามารถดำเนินการตามคำแนะนำถัดไปได้
2. ตั้งค่า PowerShell เพื่อใช้ TLS 1.2
ตอนนี้คุณได้อัปเดต PowerShell ในระบบของคุณแล้วแต่ยังคงได้รับข้อผิดพลาด คุณสามารถตรวจสอบและตรวจสอบให้แน่ใจว่าตั้งค่า PowerShell ให้ใช้ TLS 1.2 หรือใหม่กว่า ทำดังต่อไปนี้:
-
กด แป้น Windows + X เพื่อเปิด Power User Menu
แตะ A บนแป้นพิมพ์เพื่อเปิดใช้ PowerShell (Windows Terminal) ในโหมดผู้ดูแลระบบ/ยกระดับ
ในคอนโซล PowerShell ให้พิมพ์หรือคัดลอกและวางในคำสั่งด้านล่าง แล้วกด Enter เพื่อแสดงรายการโปรโตคอลที่ใช้สำหรับการเชื่อมต่อ:
[Net.ServicePointManager]::SecurityProtocolตามที่กล่าวมาแล้ว พื้นที่เก็บข้อมูล Microsoft ต้องการ TLS 1.2 หรือ TLS 1.3 จากเครื่องไคลเอนต์ Windows 11/10; ดังนั้นหากผลลัพธ์แสดงว่า PowerShell ใช้ SSL 3.0, TLS 1.0 หรือ TLS 1.1 รุ่นเก่า ตอนนี้คุณสามารถเรียกใช้คำสั่งด้านล่างเพื่อตั้งค่า PowerShell ให้ใช้ TLS1.2 หรือใหม่กว่า:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12เมื่อเสร็จแล้ว คุณสามารถติดตั้งโมดูล PowerShell โดยใช้โมดูลการติดตั้งโดยไม่มีปัญหา
อย่างไรก็ตาม cmdlet ข้างต้นเป็นวิธีแก้ปัญหาชั่วคราวสำหรับเซสชัน PowerShell นั้น ดังนั้น เพื่อให้การตั้งค่านี้เป็นแบบถาวรเพื่อไม่ให้เวอร์ชันโปรโตคอลการเชื่อมต่อ HTTPS เปลี่ยนแปลงด้วยตนเองในแต่ละครั้ง คุณสามารถตั้งค่า TLS 1.2 เป็นโปรโตคอลการเชื่อมต่อเริ่มต้นใน .NET Framework 4.5 และใหม่กว่าได้โดยการเรียกใช้คำสั่งต่อไปนี้เพื่อแก้ไขรีจิสทรี (ตรวจสอบให้แน่ใจว่า เพื่อสำรองข้อมูลรีจิสทรีหรือสร้างจุดคืนค่าระบบ):
สำหรับ 64 บิต .NET Framework เวอร์ชัน 4 ขึ้นไป
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWordสำหรับ 32 บิต .NET Framework เวอร์ชัน 4 ขึ้นไป
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWordเมื่อเสร็จแล้ว ให้รีสตาร์ท PowerShell และตรวจหาโปรโตคอลที่รองรับ ตอนนี้ TLS 1.2 จะถูกใช้สำหรับการเชื่อมต่อ PowerShell เสมอ และคุณสามารถติดตั้งโมดูลใดก็ได้ด้วย NuGet
หวังว่าคุณจะพบว่าโพสต์นี้ให้ข้อมูลและเป็นประโยชน์เพียงพอ!
เซิร์ฟเวอร์ของฉันใช้ TLS เวอร์ชันใด
ป้อน URL ที่คุณต้องการตรวจสอบในเบราว์เซอร์ คลิกขวาที่หน้าหรือเลือกเมนูแบบเลื่อนลงของหน้า แล้วเลือก คุณสมบัติ ในหน้าต่างใหม่ ให้มองหาส่วนการเชื่อมต่อ ซึ่งจะอธิบายเวอร์ชันของ TLS หรือ SSL ที่ใช้
ฉันจะเปิดใช้งาน TLS 1.1 และ TLS 1.2 บน Mac ได้อย่างไร
กด Ctrl+F12 (หรือ Command+F12 บน Mac) หรือคลิกเมนู Opera แล้วไปที่ Settings → Preferences คลิกแท็บขั้นสูง จากนั้นคลิกความปลอดภัยในแถบด้านข้างซ้าย จากนั้นคลิกปุ่มโปรโตคอลความปลอดภัย ตรวจสอบให้แน่ใจว่าได้เลือกเปิดใช้งาน TLS 1.2 เท่านั้น
TLS 1.2 มีช่องโหว่หรือไม่
มีช่องโหว่ใน TLS 1.2 แม้ว่านักวิจัยจะบอกว่ามัน “ยากที่จะใช้ประโยชน์” และผู้ค้ารายใหญ่ก็ได้ออกแพตช์ความปลอดภัยสำหรับมันแล้ว TLS 1.3 เป็นเวอร์ชันล่าสุดของโปรโตคอลความปลอดภัยที่มีการใช้งานมากที่สุดของอินเทอร์เน็ต ซึ่งจะเข้ารหัสข้อมูลเพื่อให้มีช่องทางการสื่อสารที่ปลอดภัยระหว่างจุดสิ้นสุดสองจุด


