แก้ไข "Connect-SPOService: คำว่า 'Connect-SPOService' ไม่ได้รับการยอมรับว่าเป็นชื่อของ cmdlet ฟังก์ชัน แฟ้มสคริปต์ หรือโปรแกรมที่ทำงานได้ ตรวจสอบการสะกดชื่อ หรือถ้ามีเส้นทางรวมอยู่ ให้ตรวจสอบว่าเส้นทาง ถูกต้องแล้วลองอีกครั้ง" ข้อผิดพลาด
ปัญหา: เมื่อพยายามเชื่อมต่อกับ SharePoint Online ผ่าน PowerShell cmdlet: Connect-SPOService -URL https://crescent-Admin.SharePoint.com ได้รับข้อความแสดงข้อผิดพลาดและไม่สามารถเชื่อมต่อกับ SharePoint Online จาก PowerShell :
Connect-SPOService : คำว่า 'Connect-SPOService' ไม่ได้รับการยอมรับว่าเป็นชื่อของ cmdlet ฟังก์ชัน ไฟล์สคริปต์ หรือโปรแกรมที่ทำงานได้ ตรวจสอบการสะกดชื่อ หรือหากมีเส้นทางรวมอยู่ ให้ตรวจสอบว่าเส้นทางนั้นถูกต้องแล้วลองอีกครั้ง
สาเหตุหลัก:
ข้อผิดพลาด "ไม่รู้จักการเชื่อมต่อ sposervice เป็นชื่อของ cmdlet" เกิดขึ้นเมื่อไม่ได้ติดตั้งหรือโหลดโมดูลเชลล์การจัดการแบบออนไลน์ของ SharePoint ในเซสชัน PowerShell ปัจจุบัน เมื่อต้องการแก้ไขข้อผิดพลาดนี้ ให้ทำตามขั้นตอนเหล่านี้:
วิธีแก้ปัญหา:
ข้อความแสดงข้อผิดพลาดนี้บ่งชี้ว่าไม่มี cmdlet เฉพาะในโมดูลที่โหลด ในกรณีนี้ ข้อผิดพลาดนี้เป็นเพราะ cmdlet “Connect-SPOService” เป็นส่วนหนึ่งของ SharePoint Online Management Shell (หรือโมดูล PowerShell Online ของ SharePoint) และไม่ได้โหลด! ดังนั้น เพื่อแก้ไขปัญหานี้: คุณต้องติดตั้ง SharePoint Online Management Shell (แนะนำน้อยกว่า) หรือโมดูล PowerShell ของ SharePoint Online (ที่ต้องการ) ก่อนที่จะใช้ cmdlet Connect-SPOService
ตัวเลือกที่ 1: ดาวน์โหลดและติดตั้ง SharePoint Online Management Shell
คุณสามารถดาวน์โหลดและติดตั้ง SharePoint Online Management Shell ไปยังเครื่องไคลเอ็นต์ของคุณได้จาก https://www.microsoft.com/en-us/download/details.aspx?id=35588
หากติดตั้งไว้แล้ว ให้ลองถอนการติดตั้งแล้วติดตั้งใหม่
ตัวเลือกที่ 2: ติดตั้งโมดูล PowerShell Online ของ SharePoint
ตรวจสอบอีกครั้งว่าโมดูล SharePoint Online PowerShell ได้รับการติดตั้งโดย:
Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select Name,Version
คุณสามารถติดตั้งโมดูล PowerShell Online ของ SharePoint ได้ดังต่อไปนี้:
Install-Module Microsoft.Online.SharePoint.PowerShell
สำหรับการถอนการติดตั้ง ให้ใช้:
Uninstall-Module -Name Microsoft.Online.SharePoint.PowerShell -AllVersions -Force
ซึ่งจะติดตั้งแอสเซมบลีที่จำเป็น (ไฟล์ .dll) ไปยังเส้นทาง: C:\Program Files\WindowsPowerShell\Modules\Microsoft.Online.SharePoint.PowerShell\
วิธีแก้ปัญหาอื่นๆ:
แม้ว่าเราจะไม่จำเป็นต้องโหลดโมดูลใน PowerShell อย่างชัดเจนด้วย “Import-Module Microsoft.Online.SharePoint.Powershell” แต่ให้ลองเปิดเผยปัญหาที่อาจเกิดขึ้น
หากคุณกำลังพยายามเชื่อมต่อกับ SharePoint Online PowerShell ผ่านพร็อกซีเซิร์ฟเวอร์ การเชื่อมต่อ cmdlet ของ Connect-SPOService ล้มเหลว คุณต้องใช้สิ่งต่อไปนี้:
#Get Credentials to connect
$cred = Get-Credential
[System.Net.WebRequest]::DefaultWebProxy.Credentials = $cred
Connect-SPOService -Url "https://<Tenant-admin>.sharepoint.com" -Credential $cred
ในสถานการณ์อื่น ฉันต้องลบแอสเซมบลีไคลเอนต์ SharePoint Online ทั้งหมดออกจาก GAC แล้วติดตั้งโมดูล SharePoint Online PowerShell:
- ไปที่ “C:\Windows\Microsoft.NET\assembly\GAC_MSIL”
- เลือกโฟลเดอร์ทั้งหมดที่ขึ้นต้นด้วยชื่อ “Microsoft.SharePoint.Client” และลบออกทั้งหมด!
- สุดท้าย ติดตั้งโมดูล PowerShell สำหรับ SharePoint Online: ติดตั้งโมดูล Microsoft.Online.SharePoint.PowerShell -force
ห่อ
โดยสรุป ข้อผิดพลาด “ไม่รู้จัก Connect-SPOService เป็นชื่อของ cmdlet” ใน SharePoint Online PowerShell สามารถแก้ไขได้โดยการติดตั้ง SharePoint Online Management Shell และโหลดโมดูลในเซสชัน PowerShell ปัจจุบัน โดยทำตามขั้นตอนที่ระบุไว้ในคำตอบข้างต้น ข้อผิดพลาดสามารถแก้ไขได้ และ cmdlet เชื่อมต่อ SPOService สามารถใช้เพื่อเชื่อมต่อกับ SharePoint Online

