ค้นหาเว็บไซต์

PowerShell: แก้ไข - ไม่สามารถแก้ไขแหล่งที่มาของแพ็คเกจได้


ใน PowerShell เพื่อแก้ไขข้อผิดพลาด “ไม่สามารถแก้ไขแหล่งที่มาของแพ็คเกจ 'https://www.powershellgallery.com/api/v2' ได้ ให้อัปเดตไคลเอ็นต์ PowerShell เพื่อใช้เวอร์ชัน TLS1.2

ขณะพยายามค้นหาโมดูลในแกลเลอรี PowerShell โดยใช้เทอร์มินัล PowerShell Find-Module PSWIndowsUpdate หากแสดงข้อยกเว้นตามที่ระบุด้านล่าง อาจเป็นเพราะเวอร์ชัน TLS เวอร์ชันเก่า

WARNING: Unable to resolve package source ‘https://www.powershellgallery.com/api/v2’.
PackageManagement\Find-Package : No match was found for the specified search criteria and module name ‘PSWindowsUpdate’. 
Try Get-PSRepository to see all available registered module repositories.

At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1397 char:3
+ PackageManagement\Find-Package @PSBoundParameters | Microsoft …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power…ets.FindPackage:FindPackage) [Find-Package], Exception
+ FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.FindPackage

ในบทความนี้ เราจะพูดถึงวิธีการแก้ไขข้อผิดพลาด Unable to solve package source 'https://www.powershellgallery.com/api/v2' ใน PowerShell

แก้ไข - ไม่สามารถแก้ไขแหล่งที่มาของแพ็คเกจได้

หากระบบปฏิบัติการ Windows ใช้ TLS เวอร์ชันดั้งเดิมหรือเก่า อาจทำให้เกิดข้อยกเว้นขณะพยายามค้นหาโมดูลบน PowerShell Gallary

หากต้องการค้นหาโมดูลในแกลเลอรี PowerShell หรือดาวน์โหลด จำเป็นต้องมี TLS เวอร์ชันอัปเดต ใช้สคริปต์ PowerShell ต่อไปนี้เพื่อตรวจสอบโปรโตคอลความปลอดภัย

[Net.ServicePointManager]::SecurityProtocol

สคริปต์ PowerShell ข้างต้นจะส่งคืนเวอร์ชัน TLS

ใน PowerShell เพื่อแก้ไข ไม่สามารถแก้ไขแหล่งที่มาของแพ็คเกจ 'https://www.powershellgallery.com/api/v2' ให้อัปเดตโปรโตคอลความปลอดภัยเพื่อใช้ Tls เวอร์ชันอัปเดต

เรียกใช้สคริปต์ PowerShell ด้านล่างเพื่อตั้งค่า Tls1.2 เป็นโปรโตคอลความปลอดภัย

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

สคริปต์ PowerShell ด้านบนตั้งค่าเวอร์ชัน TLS1.2 โดยใช้ [Net.SecurityProtocolType]::Tls12

หากคุณพยายามเรียกใช้คำสั่ง Find-Module PSWindowsUpdate มันจะส่งคืนผลลัพธ์ตามที่ระบุด้านล่าง

บทสรุป

ฉันหวังว่าบทความข้างต้นเกี่ยวกับวิธีแก้ปัญหาไม่สามารถแก้ไขข้อผิดพลาดแหล่งที่มาของแพ็คเกจในขณะที่พยายามค้นหาโมดูลหรือดาวน์โหลดโมดูลจากแกลเลอรี PowerShell จะเป็นประโยชน์สำหรับคุณ

TLS 1.0 และ TLS1.1 เวอร์ชันเก่าได้เสื่อมค่าลงแล้ว ดังนั้น หากระบบปฏิบัติการ Windows ใช้เวอร์ชันเก่าเดิม จะต้องอัปเดตเป็น TLS1.2 หรือเวอร์ชันที่สูงกว่า

คุณสามารถดูหัวข้อเพิ่มเติมเกี่ยวกับคำสั่ง PowerShell Active Directory และข้อมูลพื้นฐานของ PowerShell ได้ในหน้าแรกของ ShellGeek

บทความที่เกี่ยวข้อง