หากคุณพยายามติดตั้งหรืออัปเดตโมดูล PowerShell จาก PowerShell Gallery บนคอมพิวเตอร์ Windows 11 หรือ Windows 10 โดยใช้คำสั่ง Install-Module หรือ Update-Module แล้วเจอข้อความแสดงข้อผิดพลาด Install-Module หรือ Update-Module command was found in the module PowerShellGet but the module could not be loaded คุณสามารถลองใช้วิธีแก้ไขที่แนะนำในบทความนี้เพื่อแก้ปัญหาได้

โมดูล PowerShellGet คืออะไร?
โมดูล PowerShellGet เป็นคำสั่งสำหรับค้นหา ติดตั้ง อัปเดต และเผยแพร่โมดูล PowerShell, DSC Resources, Role Capabilities และสคริปต์ ตั้งแต่เดือนเมษายน 2020 PowerShell Gallery ไม่รองรับ Transport Layer Security (TLS) เวอร์ชัน 1.0 และ 1.1 อีกต่อไป
เมื่อปัญหานี้เกิดขึ้นขณะรันคำสั่ง Install-Module หรือ Update-Module คุณจะได้รับข้อความแสดงข้อผิดพลาดเต็มรูปแบบดังนี้:
Install-Module: The ‘Install-Module’ command was found in the module ‘PowerShellGet’, but the module could not be loaded. For more information, run ‘Import-Module PowerShellGet’.
นอกจากนี้ เมื่อคุณลองรัน Import-Module PowerShellGet ตามข้อความแสดงข้อผิดพลาดข้างต้น คุณจะได้รับข้อความแสดงข้อผิดพลาดใดข้อความหนึ่งต่อไปนี้:
Import-Module: The required module ‘PackageManagement’ is not loaded. Load the module or remove the module from ‘RequiredModules’ in the file.
หรือ
Import-Module: The cloud file provider is not running.
ข้อความแสดงข้อผิดพลาดที่สองดูเหมือนจะเกี่ยวข้องกับ OneDrive
คำสั่ง Install-Module พบในโมดูล PowerShellGet แต่โหลดโมดูลไม่ได้
หากเกิดข้อผิดพลาด Install-Module command was found in the module PowerShellGet but the module could not be loaded บนคอมพิวเตอร์ Windows 11/10 ของคุณ คุณสามารถลองใช้วิธีแก้ไขที่แนะนำด้านล่างในลำดับไม่กำหนด และดูว่าช่วยแก้ปัญหาบนระบบของคุณได้หรือไม่
- ตั้งค่า Execution Policy เป็น Unrestricted
- เปิดใช้งาน OneDrive Personal (หากเกี่ยวข้อง)
- ลงชื่อเข้าใช้บัญชีผู้ใช้อื่น หรือสร้างบัญชีผู้ใช้ใหม่
- รีเซ็ต Windows 11/10
ก่อนดำเนินการแก้ไขด้านล่าง โปรดตรวจสอบให้แน่ใจว่า PowerShell ถูกอัปเดตแล้ว และ Transport Layer Security v1.2 หรือใหม่กว่าถูกเปิดใช้งานและตั้งค่าเป็นโปรโตคอลเริ่มต้นใน PS Session – จากนั้นรันคำสั่งด้านล่างใน command prompt ที่มีสิทธิ์ผู้ดูแลระบบ:
powershell.exe -NoLogo -NoProfile -Command 'Install-Module -Name PackageManagement -Force -MinimumVersion 1.4.6 -Scope CurrentUser -AllowClobber'
เมื่อคำสั่งทำงานเสร็จ ให้ลองติดตั้ง/อัปเดตโมดูล PowerShell อีกครั้ง และดูว่าสำเร็จหรือไม่
1] ตั้งค่า Execution Policy เป็น Unrestricted

ผู้ใช้ส่วนใหญ่สามารถแก้ไขข้อผิดพลาด Install-Module command was found in the module PowerShellGet but the module could not be loaded ที่เกิดขึ้นบนคอมพิวเตอร์ Windows 11/10 ได้โดยการตั้งค่า ExecutionPolicy เป็น unrestricted เพื่อดำเนินการนี้ คุณสามารถทำตามคำแนะนำในคู่มือเกี่ยวกับการแก้ไข PowerShell ไม่สามารถโหลดได้เนื่องจากการรันสคริปต์ถูกปิดใช้งาน
2] เปิดใช้งาน OneDrive Personal (หากเกี่ยวข้อง)

วิธีแก้ไขนี้ใช้ได้กับผู้ใช้ที่รันคำสั่ง Update-Module – และเมื่อรันคำสั่ง Import-Module PowerShellGet ได้รับข้อความแสดงข้อผิดพลาด "The cloud file provider is not running."
เกิดขึ้นกับผู้ใช้ที่มีบัญชี OneDrive Business ตั้งค่าถูกต้องทั้งหมด แต่บัญชี OneDrive Personal ไม่ได้ทำงาน และโฟลเดอร์ OneDrive Personal PowerShell อยู่ในเส้นทาง $env:PSModulePath
ในกรณีนี้ เพื่อแก้ไขปัญหา คุณต้องเปิดใช้งานบัญชี OneDrive Personal อีกครั้ง สามารถทำตามคู่มือแก้ไข OneDrive ไม่เปิดตอนสตาร์ทอัพใน Windows 11/10
3] ลงชื่อเข้าใช้บัญชีผู้ใช้อื่น หรือสร้างบัญชีผู้ใช้ใหม่

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

ณ จุดนี้ หากไม่มีวิธีใดทำงานได้ คุณสามารถรีเซ็ตคอมพิวเตอร์ Windows 11/10 – เมื่อดำเนินการรีเซ็ต ให้เลือกตัวเลือกเก็บไฟล์ส่วนตัวไว้ หลังจากรีเซ็ตแล้ว ให้ลองใช้ Install-Module หรือ Update-Module ตามกรณี และดูว่างานเสร็จสมบูรณ์โดยไม่มีปัญหาหรือไม่ มิฉะนั้น ให้ลองวิธีแก้ไขที่กล่าวมาข้างต้นอีกครั้ง
บทความที่เกี่ยวข้อง: PowerShell Get-Appxpackage ไม่ทำงานหรือ Access Denied
วิธีติดตั้งโมดูล PowerShellGet
เพื่อติดตั้งเวอร์ชันล่าสุดของโมดูล PowerShellGet บนระบบ Windows 11/10 ให้ทำตามขั้นตอนต่อไปนี้:
- ตั้งค่า TLS1.2 เป็นโปรโตคอลเริ่มต้นใน PS Session
- ก่อนอัปเดต PowerShellGet ควรติดตั้ง NuGet provider ล่าสุดเสมอ
- ลงทะเบียน PS repositories หากยังไม่ได้ตั้งค่าก่อนหน้านี้
- ติดตั้ง PowerShellGet
วิธีอัปเดตโมดูล PowerShellGet
เพื่ออัปเดต PowerShellGet และ PackageManagement ให้รันคำสั่งต่อไปนี้:
- Get-Module -ListAvailable PackageManagement, PowerShellGet.
- Install-PackageProvider Nuget –Force Exit.
- Install-Module –Name PowerShellGet –Force Exit.
- Set-ExecutionPolicy RemoteSigned Install-Module –Name PowerShellGet –Force -AllowClobber.
วิธีตรวจสอบว่า PowerShellGet ติดตั้งแล้วหรือไม่
เพื่อทดสอบว่า PowerShellGet ติดตั้งบนคอมพิวเตอร์ Windows 11/10 แล้วหรือไม่ ให้รันคำสั่ง Get-Module -ListAvailable PowerShellGet จากเซสชัน PowerShell ใช้ Save-Module เพื่อดาวน์โหลดเวอร์ชันปัจจุบันของ PowerShellGet จะมีโฟลเดอร์สองโฟลเดอร์ที่ดาวน์โหลดมา: PowerShellGet และ PackageManagement แต่ละโฟลเดอร์มีโฟลเดอร์ย่อยที่มีหมายเลขเวอร์ชัน
