รับ-UnifiedGroup - จัดการกลุ่ม Microsoft 365
Get-UnifiedGroup cmdlet เป็นส่วนหนึ่งของโมดูล Exchange Online และอนุญาตให้คุณดูกลุ่ม Microsoft 365 ทั้งหมด เมื่อคุณรวม cmdlet เข้ากับ Get-UnifiedGroupLinks cmdlet คุณจะสามารถดูกลุ่มและสมาชิกทั้งหมดใน PowerShell ได้
อาจรู้สึกแปลกเล็กน้อยในการจัดการกลุ่ม Microsoft 365 ของคุณด้วยโมดูล Exchange Online แต่ก็ยังทำงานได้ดีอย่างสมบูรณ์ อย่างไรก็ตาม คุณยังสามารถใช้โมดูล Microsoft Entra PowerShell รุ่นใหม่ได้หากต้องการ
ในบทความนี้ ฉันจะแสดงวิธีรับข้อมูล Microsoft 365 Group ด้วย Get-UnifiedGroup cmdlet ส่งออกกลุ่มไปยัง Excel และดูสมาชิกกลุ่มด้วย Get-UnifiedGroupLinks cmdlet
ความต้องการ
Get-UnifiedGroup cmdlet เป็นส่วนหนึ่งของโมดูล Exchange Online PowerShell ก่อนที่คุณจะสามารถใช้ cmdlet คุณจะต้องตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งโมดูล Exchange Online และคุณเชื่อมต่อกับ Exchange Online
# Connect to Exchange Online
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com -ShowBanner:$falseหากคุณไม่ได้เชื่อมต่อกับ EO คุณจะได้รับข้อผิดพลาดต่อไปนี้เมื่อคุณพยายามใช้ cmdlet:
Get-UnifiedGroup: คำว่า 'Get-UnifiedGroup' ไม่ได้รับการยอมรับว่าเป็นชื่อของ cmdlet
รับกลุ่ม Microsoft 365 ทั้งหมด
เมื่อคุณเรียกใช้ cmdlet โดยไม่มีพารามิเตอร์ใดๆ ระบบจะส่งคืนกลุ่ม Microsoft 365 ทั้งหมดในผู้เช่าของคุณพร้อมข้อมูลพื้นฐาน ดังที่คุณเห็นในภาพหน้าจอด้านล่าง
Get-UnifiedGroupตัวอย่างข้างต้นมาจากสภาพแวดล้อมขนาดเล็ก ดังนั้นเราจึงมีทุกกลุ่มอยู่ในภาพรวมเดียว แต่เมื่อคุณมีสภาพแวดล้อมขนาดใหญ่ คุณอาจต้องการใช้ตัวกรองบางตัวเพื่อรับเฉพาะกลุ่มที่คุณกำลังมองหา
เมื่อพูดถึงการกรอง เรามี 2-3 ตัวเลือกที่มีประโยชน์จริงๆ แน่นอนว่าเราสามารถรับกลุ่มตามชื่อ (ชื่อที่แสดง) แต่เรายังสามารถรับกลุ่มทั้งหมดที่มีเจ้าของเฉพาะหรือไม่มีเจ้าของก็ได้ หรือมีประโยชน์อีกด้วย กลุ่มทั้งหมดที่สร้างขึ้นเมื่อมีการสร้างทีม Microsoft
รับกลุ่มเฉพาะ
นอกจากนี้เรายังสามารถรับ Microsoft 365 Group ตามชื่อของกลุ่มหรือบางส่วนได้ หากคุณทราบชื่อที่แน่นอน การใช้พารามิเตอร์ -Identity ตามด้วยชื่อกลุ่มจะง่ายกว่า
แต่เมื่อคุณไม่ทราบชื่อที่แน่นอน คุณสามารถใช้ตัวเลือก -Filter และค้นหาส่วนหนึ่งของชื่อกลุ่มด้วยไวด์การ์ดได้:
# Get group based on name
Get-UnifiedGroup -Identity "Lazy Project"
# Use wildcards to find the group
Get-UnifiedGroup -Filter {name -like "Lazy*"}รับกลุ่มตามหรือไม่มีเจ้าของ
นอกจากนี้เรายังสามารถรับกลุ่มตามเจ้าของด้วย Get-UnifiedGroup cmdlet สิ่งนี้มีประโยชน์อย่างยิ่งเมื่อคุณต้องการทราบว่ากลุ่มใดที่ผู้ใช้รายใดกำลังจัดการอยู่ หรืออาจจำเป็นต้องเปลี่ยนเจ้าของหลายกลุ่มด้วยซ้ำ
ในการรับเจ้าของ เราจำเป็นต้องเปรียบเทียบคุณสมบัติ ManagedBy ของออบเจ็กต์กลุ่ม:
Get-UnifiedGroup | Where-Object {$_.ManagedBy -eq "MeganB"}
และหากต้องการรับกลุ่มทั้งหมดโดยไม่มีเจ้าของ เราสามารถใช้คำสั่งต่อไปนี้:
Get-UnifiedGroup | Where-Object {-Not $_.ManagedBy}ฉันได้สร้างสคริปต์ที่อนุญาตให้คุณรับกลุ่มทั้งหมดโดยไม่มีเจ้าของ และตั้งค่าเจ้าของให้คุณโดยอัตโนมัติ สคริปต์สามารถตั้งค่าสมาชิกกลุ่มเป็นเจ้าของ (โดยให้ตัวเลือกแก่คุณในการเลือก) หรือถอยกลับไปเป็นผู้ใช้เริ่มต้นเพื่อตั้งเป็นเจ้าของ
รับกลุ่มที่จัดเตรียมโดย Microsoft Teams
ตัวเลือกสุดท้ายที่ฉันต้องการแสดงให้คุณเห็นคือวิธีที่คุณสามารถรับกลุ่มทั้งหมดที่สร้างขึ้นเมื่อสร้างทีม Microsoft สำหรับสิ่งนี้ เราสามารถใช้คุณสมบัติ ResourceProvisioningOptions และตรวจสอบว่าเท่ากับทีมหรือไม่:
Get-UnifiedGroup -Filter {ResourceProvisioningOptions -eq "Team"}ส่งออกกลุ่มทั้งหมด
เมื่อคุณต้องการส่งออกข้อมูลกลุ่มไปยัง Excel สิ่งสำคัญคือต้องเลือกเฉพาะข้อมูลที่คุณต้องการจริงๆ มิฉะนั้น คุณจะได้รับข้อมูลมากกว่าที่คุณต้องการ ทำให้การประมวลผลข้อมูลทำได้ยากขึ้น
ด้านล่างนี้ฉันได้สร้างตัวอย่างพร้อมข้อมูลที่เป็นประโยชน์ที่สุดที่คุณอาจต้องการ ฉันยังเพิ่มคุณสมบัติที่คำนวณได้เพื่อนับจำนวนเจ้าของกลุ่มด้วย
$properties =
"DisplayName",
"AccessType",
"PrimarySmtpAddress",
@{
Name = 'GroupOwnerCount'
Expression = { $_.ManagedBy.count }
},
"GroupMemberCount",
"GroupExternalMemberCount",
"SharePointSiteUrl",
"ManagedBy",
"WhenCreated"
# Get all groups
Get-UnifiedGroup | Select-Object -Property $properties | Export-CSV -path "C:\temp\groups.csv"คุณสามารถค้นหาสคริปต์ฉบับสมบูรณ์ได้ที่นี่ในที่เก็บ GitHub ของฉัน
รับสมาชิกกลุ่ม
ตอนนี้เราทราบวิธีรับกลุ่ม Microsoft 365 แล้ว เรามาดูวิธีรับสมาชิกกลุ่มกันดีกว่า ในการรับสมาชิกกลุ่ม เราจะต้องใช้ cmdlet Get-UnifiedGroupLinks cmdlet นี้จะส่งคืนสมาชิกหรือเจ้าของกลุ่มที่กำหนด
หากต้องการรับสมาชิกหรือเจ้าของกลุ่ม เราสามารถใช้คำสั่งต่อไปนี้:
# Get the group member
Get-UnifiedGroupLinks -Identity "Lazy project" -LinkType member
# Get the group owners
Get-UnifiedGroupLinks -Identity "Lazy project" -LinkType ownerเพื่อให้ได้ภาพรวมที่สมบูรณ์ เราจะต้องรวมทั้งสองคำสั่งเข้าด้วยกัน เราสามารถทำได้โดยใช้ PSCustomObject เพื่อรวมผลลัพธ์ไว้ในตารางเดียว เรายังจำเป็นต้องกรองเจ้าของออกจากรายชื่อสมาชิก เนื่องจากเจ้าของจะเป็นสมาชิกของกลุ่มเสมอ
ฉันได้สร้างสคริปต์ที่จะรับสมาชิกและเจ้าของกลุ่ม Microsoft 365 ทั้งหมดมาให้คุณ รวมไว้ในภาพรวมเดียว และอนุญาตให้คุณส่งออกผลลัพธ์ไปยัง Excel ได้หากต้องการ
การเพิ่มและการลบสมาชิกกลุ่ม
สิ่งสุดท้ายที่ฉันต้องการแสดงให้คุณเห็นคือคุณสามารถเพิ่มและลบสมาชิกหรือเจ้าของออกจากกลุ่มได้อย่างไร เมื่อพูดถึงเจ้าของ สิ่งสำคัญคือต้องรู้ว่าก่อนที่คุณจะสามารถเพิ่มผู้ใช้เป็นเจ้าของได้ คุณจะต้องทำให้ผู้ใช้รายนั้นเป็นสมาชิกเสียก่อน เราก็สามารถเลื่อนระดับสมาชิกให้เป็นเจ้าของได้
หากต้องการลบเจ้าของ เราต้องย้อนกลับขั้นตอน ดังนั้นขั้นแรกให้ลดระดับเจ้าของให้เป็นสมาชิกของกลุ่ม จากนั้นจึงนำสมาชิกออกได้
ดังนั้นหากต้องการเพิ่มสมาชิกในกลุ่มคุณสามารถใช้คำสั่งต่อไปนี้:
# Add a user as member
Add-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Members -Links johndoe@contoso.com
# Make from the member user an owner
Add-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Owners -Links johndoe@contoso.com- ข้อมูลประจำตัว: นามแฝง ชื่อที่แสดง หรือที่อยู่อีเมลของกลุ่ม
- ประเภทลิงก์: สามารถเป็นสมาชิก สมาชิก หรือเจ้าของได้
- ลิงก์: นามแฝง ชื่อที่แสดง หรือที่อยู่อีเมลของผู้ใช้ที่คุณต้องการเพิ่ม (สามารถเพิ่มผู้ใช้หลายคนได้โดยคั่นด้วยเครื่องหมายจุลภาค)
การลบสมาชิกหรือเจ้าของก็ค่อนข้างคล้ายกัน เราใช้ Remove-UnifiedGroupLinks cmdlet เท่านั้น:
# Remove an owner
Remove-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Owners -Links johndoe@contoso.com
Remove-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Members -Links johndoe@contoso.com
# To remove only a member
Remove-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Members -Links janedoe@contoso.com ห่อขึ้น
เป็นความคิดที่ดีเสมอที่จะตรวจสอบกลุ่มและเจ้าของกลุ่มในผู้เช่า Microsoft 365 ของคุณเป็นประจำ โดยเฉพาะอย่างยิ่งกับกลุ่มที่สร้างขึ้นโดยอัตโนมัติด้วย Teams บางครั้งคุณอาจเห็นหลายกลุ่มที่มีชื่อเกือบเหมือนกัน ภาพรวมเหล่านี้สามารถช่วยคุณระบุปัญหา และรวมกลุ่มทั้งหมดเข้าด้วยกัน
นอกจาก get-unifiedgroup cmdlet แล้ว เรายังสามารถใช้โมดูล Microsoft Entra PowerShell รุ่นใหม่เพื่อจัดการกลุ่มได้อีกด้วย อย่าลืมตรวจสอบด้วยเช่นกัน
หวังว่าคุณจะชอบบทความนี้ หากคุณมีคำถามใด ๆ เพียงแสดงความคิดเห็นด้านล่าง


