เชื่อมต่อ PowerShell กับ Office 365 และจัดการได้อย่างง่ายดาย
การเชื่อมต่อกับ Office 365 ด้วย PowerShell อาจทำให้เกิดปัญหาได้ในบางครั้ง คุณต้องจำคำสั่ง และ โมดูลต่างๆ อย่างต่อเนื่อง มาเปลี่ยนกันเถอะ
ในบทความนี้ คุณจะได้เรียนรู้วิธีการเชื่อมต่อ PowerShell กับ Office 365 คุณจะทำได้โดยใช้โมดูล Azure AD PowerShell สำหรับกราฟและโมดูล Azure Active Directory สำหรับ Windows PowerShell
Microsoft 365 Backup For Dummies eBook จัดการกับความท้าทายด้านความปลอดภัยของข้อมูลโดยสรุปฟีเจอร์ความปลอดภัยที่พร้อมใช้งานทันทีใน Microsoft 365 รับ eBook
ข้อกำหนดเบื้องต้น
หากต้องการดูตัวอย่างใดๆ ในบทช่วยสอนนี้ โปรดตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้ล่วงหน้า:
- Windows PowerShell 5.1 หรือ PowerShell 7
- ผู้เช่า Office 365
- ตัวช่วยลงชื่อเข้าใช้ Microsoft Online Services สำหรับผู้เชี่ยวชาญด้านไอที RTW
คุณสามารถดาวน์โหลด PowerShell 7 ได้จากเว็บไซต์ Microsoft
การใช้ PowerShell เพื่อเชื่อมต่อกับ office 365
Office 365 มีบริการในต่างประเทศที่หลากหลายซึ่งรวมถึงและไม่จำกัดเพียง:
- ไดเรกทอรีที่ใช้งานอยู่ของ Azure
- แลกเปลี่ยนออนไลน์
- ทีมไมโครซอฟต์
บริการ Office 365 ทั้งหมดมีให้ใช้งานผ่านพอร์ทัลเว็บเชื่อมโยงไปถึงทั่วไปที่เรียกว่า https://portal.microsoft.com พอร์ทัลนี้ช่วยให้คุณเข้าถึงการตั้งค่าโดเมน การกำหนดค่าผู้เช่า การเรียกเก็บเงิน และการจัดการการตั้งค่าของผู้ใช้ แต่ถ้าคุณต้องการไปที่บริการ Office 365 เช่น Exchange Online หรือ Microsoft Teams คุณต้องคลิกที่ชื่อบริการในพอร์ทัลซึ่งจะนำคุณไปยังศูนย์การจัดการบริการ เช่น Exchange Admin Center และอื่นๆ
แต่ละบริการมีพอร์ทัลศูนย์การจัดการและโมดูล PowerShell ของตัวเอง ดังนั้น หากคุณต้องการเชื่อมต่อเพื่อจัดการผู้ใช้บน Exchange Online คุณจะต้องดาวน์โหลดโมดูล PowerShell ออนไลน์ของ Exchange หากคุณต้องการจัดการผู้ใช้บน Teams คุณต้องดาวน์โหลดโมดูล Teams และสำหรับโมดูล PowerShell ไดเรกทอรีที่ใช้งานอยู่ของ Azure ด้วย
การดาวน์โหลดและติดตั้งโมดูล Office 365 PowerShell
วิธีง่ายๆ คือการใช้ PowerShell เพื่อค้นหา ดาวน์โหลด และติดตั้งโมดูล PowerShell มาลองรับโมดูล Exchange Online PowerShell เริ่มต้นด้วยการเปิด PowerShell และพิมพ์บรรทัดคำสั่ง PowerShell ต่อไปนี้เพื่อค้นหาโมดูลที่พร้อมใช้งานที่เกี่ยวข้องกับ Exchange Online
Find-Module Exchangeonline*คุณสามารถใช้ไวด์การ์ดเพื่อค้นหาโมดูล PowerShell ที่เกี่ยวข้องทั้งหมด
การใช้ Find-Module ช่วยในการค้นหาโมดูลในแกลเลอรี PowerShell คุณอาจพบโมดูล PowerShell หลายโมดูล สิ่งที่เรากำลังมองหาคือ ExchangeOnlineManagement หากต้องการดาวน์โหลดและติดตั้งโมดูล ให้ใช้ install-module cmdlet
หากไม่มีข้อผิดพลาดส่งคืน คุณก็พร้อมที่จะเริ่มใช้งานโมดูลแล้ว ขั้นตอนต่อไปคือการเริ่มใช้งานโมดูล
ตั้งแต่ PowerShell 3 เป็นต้นมา PowerShell สามารถนำเข้าโมดูลโดยอัตโนมัติในครั้งแรกที่คุณเรียกใช้คำสั่งใดๆ ที่เกี่ยวข้องกับโมดูลที่ติดตั้ง
วิธีการดาวน์โหลดโมดูลแบบเดียวกันนี้สามารถใช้ได้กับโมดูลอื่นๆ สิ่งที่คุณต้องทำก็แค่รู้ชื่อโมดูลและดาวน์โหลด
เชื่อมต่อ PowerShell กับบริการ Office 365
Office 365 แต่ละตัวมีโมดูล PowerShell ของตัวเอง ซึ่งทำให้การจัดการบริการข้ามมีความท้าทายเล็กน้อย โดยปกติแล้ว โมดูล Office 365 ใดๆ จะมี cmdlet Connect-*ServiceName* ที่คล้ายกัน
- เชื่อมต่อกับ Exchange Online คุณสามารถใช้ cmdlet
Connect-ExchangeOnlineซึ่งมีอยู่ในโมดูล ExchangeOnlineManagement - เชื่อมต่อกับ Microsoft Teams ใช้ cmdlet
Connect-MicrosoftTeamsต่อไปนี้ซึ่งมีอยู่ในโมดูล MicrosoftTeams - หากต้องการเชื่อมต่อกับ Azure AD โดยใช้ Azure AD PowerShell สำหรับกราฟ ให้ใช้
Connect-AzureADซึ่งมีอยู่ในโมดูล AzureAD - เชื่อมต่อกับ Sharepoint Online ใช้
Connect-PnPOnlineซึ่งมีอยู่ในโมดูล Microsoft.Online.SharePoint.PowerShell - เชื่อมต่อกับ Azure AD สำหรับโมดูล Windows PowerShell ใช้
Connect-MsolServiceซึ่งมีอยู่ในโมดูล MSOnline
PowerShell Core ไม่รองรับโมดูล Azure AD สำหรับ Windows PowerShell และ cmdlets ที่มี Msol อยู่ในชื่อ
ทำไมต้องมีโมดูล Azure AD สองโมดูล
เมื่อทำงานกับ Office 365 โดยใช้ PowerShell คุณอาจต้องใช้สองโมดูลที่แตกต่างกัน คุณจะใช้ Azure Active Directory PowerShell สำหรับ Graph ด้วยชื่อโมดูล AzureAD และ Azure Active Directory Module สำหรับ Windows PowerShell ที่มีชื่อโมดูลเป็น MSOnline
AzureAD และ MSOnline ช่วยให้คุณสามารถทำงานกับบริการ Office 365 โดยใช้ PowerShell แล้วทำไมต้องสอง AzureAD เป็นผู้สืบทอดต่อจาก MSOnline และจากสิ่งที่ฉันรวบรวมได้จะมาแทนที่ MSOnline ณ จุดใดจุดหนึ่ง ฟังก์ชันใหม่ทั้งหมดอยู่ในโมดูล AzureAD แต่ยังคงทับซ้อนกับโมดูล MSOnline อยู่บ้าง
คุณจะพบว่างานต่างๆ เช่น การจัดการผู้ใช้ กลุ่ม และการดูแลระบบใบอนุญาตยังคงมีอยู่ในโมดูล MSOnline
หากคุณต้องการเชื่อมต่อกับ Exchange Online ผ่าน MFA ทาง Microsoft จะให้คำแนะนำที่ดีเกี่ยวกับหัวข้อการเชื่อมต่อกับ Exchange Online PowerShell โดยใช้การรับรองความถูกต้องแบบหลายปัจจัย
การใช้ PowerShell เพื่อเชื่อมต่อกับบริการ Office 365 หลายบริการ
โมดูล Office 365 PowerShell ดูเหมือนรายการใหญ่ใช่ไหม! แต่คุณสามารถเชื่อมต่อกับบริการทั้งหมดในคอนโซลเดียว จากนั้นทำงานทั้งหมดในคอนโซลเดียวกันได้โดยใช้รหัส PowerShell ต่อไปนี้
$CloudCred=Get-Credential
$TenantName="Test for test.onmicrosoft.com"
Connect-AzureAD -Credential $CloudCred
Connect-PnPOnline -Url https://$TenantName.sharepoint.com -Credentials $CloudCred
Connect-ExchangeOnline -Credential $CloudCred
Connect-MicrosoftTeams -Credential $CloudCredคุณอาจได้รับข้อผิดพลาดต่อไปนี้เมื่อเชื่อมต่อกับ Sharepoint
Connect-PnPOnline : AADSTS65001: ผู้ใช้หรือผู้ดูแลระบบไม่ได้รับอนุญาตให้ใช้แอปพลิเคชันที่มี ID '31359c7f-bd7e-8888-86db-fdb8c937548e' ชื่อ 'PnP Management Shell' ส่งคำขอการให้สิทธิ์แบบโต้ตอบสำหรับผู้ใช้และทรัพยากรนี้ ID ติดตาม: b9913a0b-b47d-4ffe-bdc7-70ed81143000
ในการแก้ไขปัญหานี้ ให้เรียกใช้ Register-PnPManagementShellAccess cmdlet พิมพ์ชื่อผู้ใช้และรหัสผ่าน จากนั้นตรวจสอบให้แน่ใจว่าได้ตรวจสอบ “คำยินยอมในนามขององค์กรของคุณ“
ตรวจสอบให้แน่ใจว่าโมดูลของคุณทันสมัยเสมอ เนื่องจากมีการเพิ่มฟีเจอร์ใหม่และความเข้ากันได้บ่อยครั้ง โมดูล Office 365 PowerShell ส่วนใหญ่รองรับการรับรองความถูกต้องแบบหลายปัจจัยแล้ว
Microsoft 365 Backup For Dummies eBook จัดการกับความท้าทายด้านความปลอดภัยของข้อมูลโดยสรุปฟีเจอร์ความปลอดภัยที่พร้อมใช้งานทันทีใน Microsoft 365 รับ eBook
สรุป
Office 365 มีบริการมากมาย แต่โชคดีที่คุณสามารถจัดการทั้งหมดได้ด้วย PowerShell เมื่อคุณติดตั้งทั้งสองโมดูลและเชื่อมต่อโดยใช้คำสั่ง เชื่อมต่อ คุณก็พร้อมที่จะจัดการ Office 365 ด้วย PowerShell!

