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

จัดการ Office 365 ด้วย PowerShell


ส่วนประกอบหลักของ Office 365 ได้แก่ Exchange Online, Lync Online และ SharePoint Online ซึ่งทั้งหมดทำงานบน Windows Azure Active Directory ดังแสดงในรูปต่อไปนี้:

บริการทั้งหมดสามารถจัดการได้จาก Microsoft Online Portal เมื่อเข้าสู่ระบบพอร์ทัล คุณสามารถเลือกบริการต่างๆ ภายใต้ ผู้ดูแลระบบ ในบานหน้าต่างการนำทาง นอกจากนี้ยังสามารถจัดการ Office 365 โดยใช้ PowerShell ได้ แต่บริการทั้งหมดต้องใช้แนวทางหรือโมดูลที่แตกต่างกัน

การจัดการ Windows Azure Active Directory โดยใช้ PowerShell

ในการจัดการ Windows Azure Active Directory ด้วย PowerShell คุณต้องติดตั้ง Azure Active Directory Module สำหรับ Windows PowerShell (เวอร์ชัน 64 บิต) แต่ก่อนที่คุณจะสามารถใช้งานได้ คุณต้องติดตั้ง Microsoft Online Services Sign-In Assistant ด้วย

เมื่อคุณติดตั้งสิ่งเหล่านี้แล้ว คุณสามารถเปิด PowerShell บนเครื่องของคุณและเชื่อมต่อกับ Azure Active Directory โดยใช้คำสั่งต่อไปนี้:

$Cred = Get-Credentials
Connect-MsolService $Cred

ด้วยโมดูล PowerShell นี้มีคำสั่งที่เกี่ยวข้องกับ Microsoft Online (Msol) ให้พร้อมใช้งาน หากต้องการดูภาพรวมของคำสั่งเหล่านี้ คุณสามารถใช้คำสั่ง Get-Command กรองชื่อของคำสั่ง (*msol*) และส่งออกไปยังไฟล์ เช่นนี้

Get-Command | Where {$_.Name -like "*msol*"} | Out-File C:\Temp\MsolCommands.txt

เมื่อคุณใช้แผ่นจดบันทึกเพื่อเปิดไฟล์นี้ คุณสามารถตรวจสอบผลลัพธ์ได้:

คุณสามารถใช้คำสั่ง Get-MsolDomain เพื่อดึงรายการโดเมนทั้งหมดที่มีอยู่ใน Office 365 ของคุณ ในสภาพแวดล้อมการทดสอบของเรา โดเมนนี้เป็นเพียงโดเมนเพิ่มเติมเพียงโดเมนเดียวเท่านั้น โดเมน inframan.nl ที่เราเพิ่มในบล็อกโพสต์ก่อนหน้าเป็น แสดงในรูปต่อไปนี้:

ในทำนองเดียวกัน คุณสามารถใช้คำสั่ง Get-MsolUser เพื่อดึงข้อมูลผู้ใช้ทั้งหมดใน Windows Azure Active Directory การรันคำสั่ง Get-Msoluser ในสภาพแวดล้อมการทดสอบของเราจะแสดงผู้ใช้ทั้งหมดที่สร้างขึ้นในโพสต์บล็อกก่อนหน้า:

ข้อมูลเพิ่มเติมเกี่ยวกับการจัดการ Azure Active Directory โดยใช้ PowerShell สามารถพบได้ในหน้า MSDN ต่อไปนี้: https://msdn.microsoft.com/en-us/library/azure/jj151815.aspx

การจัดการ Exchange Online โดยใช้ PowerShell

เมื่อคุณต้องการจัดการ Exchange Online โดยใช้ PowerShell ไม่จำเป็นต้องติดตั้งโมดูลแยกต่างหากสำหรับ PowerShell คุณเพียงแค่ต้องตั้งค่าเซสชัน PowerShell ระยะไกลเป็น Exchange Online และคำสั่งทั้งหมดจะถูกถ่ายโอนไปยัง PowerShell ภายในเครื่องโดยอัตโนมัติ

หากต้องการตั้งค่าเซสชัน PowerShell ระยะไกล คุณสามารถใช้คำสั่งต่อไปนี้ในหน้าต่าง PowerShell ภายในเครื่อง:

$ExCred = Get-Credential admin@inframan.onmicrosoft.com
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $ExCred -Authentication Basic -AllowRedirection
Import-PSSession $Session

เมื่อตั้งค่าเซสชันแล้ว คำสั่ง Exchange ทั้งหมดจะพร้อมใช้งาน ตัวอย่างเช่น เมื่อรันคำสั่ง Get-Mailbox กล่องจดหมายทั้งหมดที่สร้างขึ้นใน Exchange Online จะพร้อมใช้งานจะแสดงบนคอนโซล ในสภาพแวดล้อมการทดสอบของฉัน คุณจะเห็นว่ากล่องจดหมายกระจายไปทั่วอัมสเตอร์ดัม (ServerName เริ่มต้นด้วย 'am') และ Dublin (ServerName ขึ้นต้นด้วย 'db') ดังแสดงในรูปต่อไปนี้:

หากต้องการปิดเซสชัน PowerShell ระยะไกล คุณสามารถใช้คำสั่ง Remove-PSSession $Session

ข้อมูลเพิ่มเติมเกี่ยวกับ Exchange Online PowerShell สามารถพบได้บน TechNet: https://technet.microsoft.com/en-us/library/jj200677(v=exchg.150).aspx

การจัดการ Lync Online โดยใช้ PowerShell

ขั้นตอนแรกในการจัดการ Lync Online โดยใช้ PowerShell คือการติดตั้งโมดูล Lync Online Connector ซึ่งสามารถดาวน์โหลดได้จาก http://go.microsoft.com/fwlink/?LinkId=294688 เมื่อติดตั้งแล้ว คุณสามารถใช้คำสั่งต่อไปนี้เพื่อนำเข้า Lync Online Connector และตั้งค่าเซสชันกับ Lync Online:

Import-Module LyncOnlineConnector
$LyncCred = Get-Credential admin@inframan.onmicrosoft.com
$Session = New-CsOnlineSession -Credential $LyncCred
Import-PSSession $Session

คำสั่งทั้งหมดเกี่ยวกับ Lync Online พร้อมใช้งานแล้ว ตัวอย่างเช่น หากต้องการดึงข้อมูลบัญชีที่เปิดใช้งาน Lync ทั้งหมดในสภาพแวดล้อมการทดสอบ เราสามารถใช้คำสั่ง Get-CsOnlineUser ดังแสดงในรูปต่อไปนี้:

ข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Windows PowerShell เพื่อจัดการ Lync Online สามารถพบได้บน TechNet: https://technet.microsoft.com/en-us/library/dn362831(v=ocs.15).aspx

การจัดการ SharePoint Online โดยใช้ PowerShell

ตอนนี้เราเริ่มคุ้นเคยแล้ว แต่สำหรับการจัดการ SharePoint Online โดยใช้ PowerShell จำเป็นต้องติดตั้ง SharePoint Online Management Shell คุณสามารถดาวน์โหลดได้จากไซต์ดาวน์โหลดของ Microsoft: http://go.microsoft.com/fwlink/p/?LinkId=255251 สิ่งนี้จะติดตั้ง SharePoint Online Management Shell (เฉพาะ)

เมื่อต้องการตั้งค่าเซสชันเป็น SharePoint Online คุณสามารถใช้คำสั่งต่อไปนี้:

$SPCred = Get-Credential admin@inframan.onmicrosoft.com
Connect-SPOService -Url https://inframan-admin.sharepoint.com -Credential $SPCred

มองเห็นได้ชัดเจนคือ SharePoint Online Management Shell เมื่อเปรียบเทียบกับพร้อมท์คำสั่ง PowerShell ปกติ โปรดสังเกตสีพื้นหลังที่แตกต่างกันด้วย

เมื่อต้องการดึงรายการไซต์คอลเลกชันที่มีอยู่ในสภาพแวดล้อม SharePoint Online ของคุณ คุณสามารถใช้คำสั่ง Get-SPOSite ดังแสดงในรูปต่อไปนี้:

ข้อมูลเพิ่มเติมเกี่ยวกับ Windows PowerShell สำหรับ SharePoint Online สามารถพบได้บน TechNet: https://technet.microsoft.com/en-us/library/fp161362.aspx

สรุป

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

ในบล็อกโพสต์ต่อไปนี้ ฉันจะลงรายละเอียดเพิ่มเติมเกี่ยวกับความเป็นไปได้ต่างๆ

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