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

รับ-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 รุ่นใหม่เพื่อจัดการกลุ่มได้อีกด้วย อย่าลืมตรวจสอบด้วยเช่นกัน

หวังว่าคุณจะชอบบทความนี้ หากคุณมีคำถามใด ๆ เพียงแสดงความคิดเห็นด้านล่าง