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

สร้างกล่องจดหมายที่ใช้ร่วมกันจำนวนมากด้วย PowerShell


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

เชื่อมต่อกับการแลกเปลี่ยนออนไลน์

ก่อนที่จะสร้างกล่องจดหมายที่แชร์ในขั้นตอนถัดไป คุณต้องติดตั้งและเชื่อมต่อกับ Exchange Online PowerShell เริ่ม Windows PowerShell ในฐานะผู้ดูแลระบบและเรียกใช้ cmdlet ด้านล่าง

Connect-ExchangeOnline

สร้างกล่องจดหมายที่ใช้ร่วมกันจำนวนมากด้วย PowerShell

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

สร้างไฟล์ CSV ไฟล์เดียว

ขั้นแรก เราต้องพิมพ์ข้อมูลลงในแผ่นจดบันทึกและบันทึกเป็นไฟล์ CSV ในตัวอย่างของเรา บันทึกเป็น info.csv ใน C:\temp

หมายเหตุ: ชื่อของกล่องจดหมายที่ใช้ร่วมกันจะต้องไม่ซ้ำกัน

คุณควรใช้รูปแบบต่อไปนี้สำหรับไฟล์ CSV:

  • ชื่อ: ที่อยู่อีเมลที่ไม่ซ้ำของกล่องจดหมายที่ใช้ร่วมกัน
  • ชื่อที่แสดง: ชื่อของกล่องจดหมายที่ใช้ร่วมกัน

ตรวจสอบไฟล์ CSV ด้วย Import-Csv cmdlet

เรียกใช้ Windows PowerShell ในฐานะผู้ดูแลระบบ ตรวจสอบให้แน่ใจว่า PowerShell สามารถอ่านไฟล์ได้ เรียกใช้ Import-Csv cmdlet

Import-Csv "C:\temp\info.csv"

นี่คือลักษณะที่ปรากฏในตัวอย่างของเรา

PS C:\> Import-Csv "C:\temp\info.csv"

Name        DisplayName
----        -----------
Finance1    Finance Team
Marketing1  Marketing Team
HR1         HR Department
IT1         IT Department
Security1   Security Department
Management1 Management Team
Design1     Design Team
Sales1      Sales Team
Production1 Product Team
RD1         Research and Development

เรียกใช้สคริปต์ PowerShell เพื่อสร้างกล่องจดหมายที่ใช้ร่วมกันจำนวนมากใน Exchange Online

ใช้สคริปต์ PowerShell ด้านล่างเพื่อสร้างกล่องจดหมายที่แชร์ใหม่ใน Exchange Online

# Import CSV file
$Datas = Import-Csv "C:\temp\info.csv"

# Get all recipients
$Recipients = Get-Recipient -ResultSize Unlimited | select Name

foreach ($Data in $Datas) {

    # Check if shared mailbox does not exist
    If (($Recipients | Where { $_.Name -eq $Data.Name }) -eq $Null) {

        # Create shared mailbox
        New-Mailbox -Name $Data.Name -DisplayName $Data.DisplayName -Shared
        Write-Host -f Green "Shared mailbox '$($Data.Name)' created successfully."
    }
    Else {
        Write-host -f Green "Shared Mailbox '$($Data.Name)' already exists."
    }
}

ตรวจสอบกล่องจดหมายที่แชร์ในศูนย์การจัดการ Microsoft 365

คุณจัดการเพื่อสร้างกล่องจดหมายที่ใช้ร่วมกันจำนวนมากใน PowerShell คุณยังสามารถตรวจสอบกล่องจดหมายที่แชร์ที่คุณสร้างในศูนย์การจัดการ Microsoft 365

ผลลัพธ์จะมีลักษณะดังภาพด้านล่าง

เรายังไม่ได้กำหนดผู้ใช้ให้กับกล่องจดหมายที่ใช้ร่วมกันเหล่านี้ ดูขั้นตอนถัดไปเพื่อเพิ่มผู้ใช้ที่มีสิทธิ์การเข้าถึงแบบเต็มไปยังกล่องจดหมายที่แชร์เหล่านี้แต่ละกล่อง

สร้างกล่องจดหมายที่ใช้ร่วมกันจำนวนมากพร้อมสิทธิ์การเข้าถึงของผู้ใช้ใน PowerShell

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

สร้าง CSV เพื่อสร้างกล่องจดหมายที่ใช้ร่วมกันจำนวนมากกับผู้ใช้

คุณต้องพิมพ์รูปแบบข้อมูลต่อไปนี้ในไฟล์ CSV:

  • ชื่อ: อีเมลที่ไม่ซ้ำของกล่องจดหมายที่ใช้ร่วมกัน
  • ชื่อที่แสดง: ชื่อของกล่องจดหมายที่ใช้ร่วมกัน
  • ผู้ใช้: ผู้ใช้ที่ใช้งานอยู่
  • สิทธิ์การเข้าถึง: การเข้าถึงแบบเต็ม

ในตัวอย่างของเรา เราพิมพ์ข้อมูลลงในแผ่นจดบันทึกและตั้งชื่อไฟล์ว่า info.csv และวางไว้ใน C:\temp

ตรวจสอบไฟล์ CSV ด้วย Import-Csv cmdlet

เรียกใช้ Windows PowerShell ในฐานะผู้ดูแลระบบ ตรวจสอบให้แน่ใจว่า PowerShell สามารถอ่านไฟล์ได้ เรียกใช้ Import-Csv cmdlet

Import-Csv "C:\temp\info.csv"

นี่คือลักษณะที่ปรากฏในตัวอย่างของเรา

PS C:\> Import-Csv "C:\temp\info.csv"

Name        DisplayName              User                                                AccessRights
----        -----------              ----                                                ------------
Finance1    Finance Team             Amanda Morgan;Stephen Hunter;Carol Baker            FullAccess
Marketing1  Marketing Team           Craig Hansen;Edward Jones                           FullAccess
HR1         HR Department            Edward Wilson;Emma Arnold;Nick Carlson;Lisa Philips FullAccess
IT1         IT Department            Piers Bower;Lisa Davies;Anna Welch;John Hamod       FullAccess
Security1   Security Department      Edward Wilson;Jonathan Fisher                       FullAccess
Management1 Management Team          Neil Graham;Sarah Coleman;Viola Simon               FullAccess
Design1     Design Team              Wallace Zheng;Abigail Hodges;Emma Arnold            FullAccess
Sales1      Sales Team               Edward Lincoln;Amanda Morgan;Stephen Hunter         FullAccess
Production1 Product Team             Kylie Davidson;Mary Walsh                           FullAccess
RD1         Research and Development Max Gibson;Curt Berry;Owen Simpson                  FullAccess

เรียกใช้สคริปต์ PowerShell เพื่อสร้างกล่องจดหมายที่ใช้ร่วมกันจำนวนมากใน Exchange Online พร้อมสิทธิ์การเข้าถึงของผู้ใช้

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

ผลลัพธ์ของ PowerShell ช่วยให้คุณทราบว่ามีกล่องจดหมายที่แชร์อยู่แล้วหรือไม่ หากคุณมีผู้ใช้ที่ไม่ถูกต้องในไฟล์ CSV ผลลัพธ์จะแจ้งให้คุณทราบว่าไม่พบผู้ใช้ นอกจากนี้ยังจะไม่เพิ่มผู้ใช้ที่มีอยู่สองครั้งในกล่องจดหมายที่ใช้ร่วมกันเดียวกัน คุณจะได้รับคำเตือนว่าสิทธิ์การเข้าถึงของผู้ใช้มีอยู่แล้วในกล่องจดหมายที่ใช้ร่วมกันนี้

# Import CSV file
$Datas = Import-Csv "C:\temp\info.csv"

# Get all recipients
$Recipients = Get-Recipient -ResultSize Unlimited | select Name

foreach ($Data in $Datas) {

    # Check if shared mailbox does not exist
    If (($Recipients | Where { $_.Name -eq $Data.Name }) -eq $Null) {

        # Create shared mailbox
        New-Mailbox -Name $Data.Name -DisplayName $Data.DisplayName -Shared
        Write-Host -f Green "Shared mailbox '$($Data.Name)' created successfully."
    }
    Else {
        Write-Host -f Green "Shared Mailbox '$($Data.Name)' already exists."
    }
    # Assign permissions on shared mailbox
    $Users = $Data.User -split ";"
    foreach ($User in $Users) {
        Add-MailboxPermission -Identity $Data.Name -User $User.Trim() -AccessRights $Data.AccessRights
    }
}

ตรวจสอบกล่องจดหมายที่แชร์กับผู้ใช้และสิทธิ์ในศูนย์การจัดการ Microsoft 365

คุณจะเห็นกล่องจดหมายที่แชร์ในศูนย์การจัดการ Microsoft 365 หากคุณคลิกที่กล่องจดหมายที่ใช้ร่วมกันแต่ละกล่อง คุณจะเห็นจำนวนผู้ใช้ที่ได้รับมอบหมายและสิทธิ์ของพวกเขา

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

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

อ่านเพิ่มเติม: เปิดใช้งานการตอบกลับการป้องกันพายุทั้งหมดใน Exchange Online »

บทสรุป

คุณได้เรียนรู้วิธีสร้างกล่องจดหมายที่ใช้ร่วมกันจำนวนมากด้วยสคริปต์ PowerShell และไฟล์ CSV เป็นวิธีที่เร็วที่สุดในการนำเข้าผู้ใช้มากกว่าหนึ่งพันรายและกำหนดสิทธิ์การเข้าถึงกล่องจดหมายที่ใช้ร่วมกันหลายกล่อง สคริปต์ PowerShell สุดท้ายของเราช่วยให้คุณสร้างกล่องจดหมายที่ใช้ร่วมกันจำนวนมาก เพิ่มผู้ใช้หลายรายไปยังกล่องจดหมายที่ใช้ร่วมกันแต่ละกล่อง และให้สิทธิ์การเข้าถึงแก่พวกเขา

คุณสนุกกับบทความนี้หรือไม่? คุณอาจต้องการบันทึกรายการที่ส่งในกล่องจดหมายที่แชร์ อย่าลืมติดตามเราและแบ่งปันบทความนี้

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