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

สร้างรายงานสมาชิกกลุ่มการจัดจำหน่าย M365 ด้วย PowerShell


งานบางอย่างจะเสร็จสิ้นได้ดีขึ้นโดยใช้ PowerShell เช่น การสร้างรายงานของกลุ่มการแจกจ่ายทั้งหมดใน Microsoft 365 รวมถึงสมาชิกกลุ่มด้วย น่าเสียดายที่ไม่มีวิธี 'ในตัว' จาก Microsoft 365 หรือ Exchange Online Admin Center ที่ให้คุณทำเช่นนี้ได้

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

ข้อกำหนดเบื้องต้น

สคริปต์ในบทช่วยสอนนี้ใช้โมดูล Exchange Online PowerShell โมดูลนี้มีคำสั่งที่จำเป็นในการเชื่อมต่อกับ Exchange Online และสร้างข้อมูลที่จำเป็น

ในการติดตั้งโมดูล Exchange Online PowerShell ฉันได้เขียนบทช่วยสอนแยกต่างหากซึ่งคุณสามารถเข้าถึงได้ที่นี่: วิธีเชื่อมต่อกับ Exchange Online ด้วย PowerShell

สคริปต์เพื่อสร้างกลุ่มการแจกจ่ายและรายงานสมาชิก

ด้านล่างนี้คือสคริปต์ฉบับเต็ม ฉันขอแนะนำให้คุณคัดลอกและวางลงในโปรแกรมแก้ไขข้อความก่อน หรือ PowerShell ISE ก่อนที่จะเรียกใช้ คุณจะพบผลลัพธ์ในโฟลเดอร์ C:\temp บนไดรฟ์ของคุณ

<# Version: 1.0
Author: Daniel Bradley (https://www.linkedin.com/in/danielbradley2/)
Website: https://ourcloudnetwork.com/
#> 

#Connect to Exchange Online
Connect-ExchangeOnline

#Create report array object
$Report = [System.Collections.Generic.List[Object]]::new()

#Get all groups
$GroupList = Get-DistributionGroup

#Generate report
Foreach ($group in $grouplist) {
    $groupmembers = $null
    $groupmembers = Get-DistributionGroupMember -Identity $group.Name
    Foreach ($member in $groupmembers) {
        $obj = [PSCustomObject][Ordered]@{  
         "Member"                 = $member.PrimarySmtpAddress
         "Member Type"            = $Member.RecipientType
         "Group"                  = $Group.DisplayName
         "Group Address"          = $Group.PrimarySmtpAddress
         }
    $Report.Add($obj)
    }
}

#Export report
$Report | Export-CSV -path "C:\temp\distribution-group-report.csv" -NoTypeInformation

ผลลัพธ์

รายงานจะจัดทำในรูปแบบ CSV และควรเปิดโดยตรงใน Microsoft Excel มันจะมีลักษณะดังนี้:

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