การเปลี่ยนการตั้งค่ากล่องจดหมายผ่าน Set-Mailbox Powershell Cmdlet
การแนะนำ
Exchange Administration Center (EAC) เป็นอินเทอร์เฟซที่ใช้งานง่ายสำหรับการจัดการ Exchange อย่างไรก็ตาม คุณสามารถเปลี่ยนการตั้งค่ากล่องจดหมายได้เพียงไม่กี่รายการ และแก้ไขได้ครั้งละ 1 กล่องเท่านั้น
หากต้องการการจัดการที่ครอบคลุมมากขึ้น คุณต้องหันมาใช้ Microsoft PowerShell (หรือที่เรียกให้ชัดเจนคือ Exchange Management Shell) ด้วย Set-Mailbox cmdlet คุณสามารถแก้ไขแอตทริบิวต์เกือบใดๆ ของกล่องจดหมายได้ รวมถึงทั้งคุณลักษณะทั่วไป (เช่น ชื่อ ชื่อที่แสดง นามแฝง ชื่อการเข้าสู่ระบบ ชื่อ และบริษัท) และคุณลักษณะที่ไม่ธรรมดา (เช่น Arbitration, ArbitrationMailbox , AttributesToClear และ ArchiveDatabase) Set-Mailbox cmdlet พร้อมใช้งานสำหรับทั้ง Exchange Server ในสถานที่และ Exchange Online
บล็อกนี้มีตัวอย่างมากมายที่แสดงให้เห็นว่าคุณสามารถใช้ Set-Mailbox cmdlet เพื่อทำงานการจัดการกล่องจดหมายทั่วไปให้สำเร็จได้อย่างไร
ชุดกล่องจดหมาย Cmdlet: พารามิเตอร์ข้อมูลประจำตัว
Set-Mailbox cmdlet มีพารามิเตอร์มากมาย ดังรายละเอียดที่นี่ สิ่งสำคัญคือพารามิเตอร์ Identity ซึ่งคุณใช้เพื่อระบุกล่องจดหมายที่คุณต้องการแก้ไข คุณสามารถใช้ค่าได้หลายประเภทกับพารามิเตอร์นี้ แต่ค่าที่พบบ่อยที่สุดคือ:
- ชื่อกล่องจดหมาย
- ที่อยู่อีเมล
- ชื่อผู้จัดการบัญชีความปลอดภัย (SamAccountName)
- ตัวระบุความปลอดภัย (SID)
- ชื่อเฉพาะ (DN)
- ตัวระบุที่ไม่ซ้ำทั่วโลก (GUID)
หรือคุณสามารถใช้ตัวแปรอ็อบเจ็กต์ผู้ใช้ภายในเพื่อรวบรวมอ็อบเจ็กต์หลายรายการ และใช้ตัวแปรนั้นเพื่อส่งผ่านไปป์ไลน์ไปยังพารามิเตอร์ Identity ดังที่เราจะแสดงในตัวอย่างสุดท้าย
ตัวอย่าง Cmdlet ชุดกล่องจดหมาย
Set-Mailbox cmdlet สามารถใช้เพื่ออัปเดตชื่อที่แสดงของกล่องจดหมาย ตั้งค่าฐานข้อมูลการเก็บถาวรสำหรับกล่องจดหมาย และอื่นๆ ตัวอย่างได้แก่:
- เปลี่ยนนามแฝงของกล่องจดหมาย
- อัปเดตชื่อที่แสดงของกล่องจดหมาย
- อัปเดต SamAccountName ของกล่องจดหมาย
- ปรับเปลี่ยนกล่องจดหมายอนุญาโตตุลาการ
- ระบุฐานข้อมูลการเก็บถาวรสำหรับกล่องจดหมาย
- ระบุฐานข้อมูลสำหรับกล่องจดหมาย
- ตั้งค่าโควต้าการเก็บถาวรสำหรับกล่องจดหมาย
- ตั้งค่าโควต้าคำเตือนการเก็บถาวรสำหรับกล่องจดหมาย
- ตั้งค่าที่อยู่การส่งต่อภายในสำหรับกล่องจดหมาย
- ตั้งค่าที่อยู่การส่งต่อภายนอกสำหรับกล่องจดหมาย
- ควบคุมว่ากล่องจดหมายใดที่จะส่งต่อข้อความไปที่
- แก้ไขกล่องจดหมายหลายกล่องพร้อมกัน
เปลี่ยนนามแฝงของกล่องจดหมาย
หากต้องการกำหนดนามแฝง Exchange (หรือที่เรียกว่าชื่อเล่นเมล) ให้กับกล่องจดหมาย ให้ใช้พารามิเตอร์ -Alias ค่านามแฝงจะใช้เพื่อสร้างที่อยู่อีเมลหลัก (alias@domain.com) เมื่อคุณสร้างผู้รับโดยไม่ระบุที่อยู่อีเมล
สามารถกำหนดค่านามแฝงให้กับผู้รับได้เพียงค่าเดียวเท่านั้น ความยาวอักขระสูงสุดคือ 64
ไม่ควรสับสนระหว่างนามแฝงกับบุคคลที่มีที่อยู่อีเมลหลายรายการ ซึ่งเรียกว่าที่อยู่พร็อกซี
cmdlet ต่อไปนี้จะอัปเดตนามแฝงสำหรับผู้ใช้ Abbey Crawford เป็น AbbeyCrawford2:
Set-Mailbox -Identity "AbbeyCrawford" -Alias "AbbeyCrawford2"อัปเดตชื่อที่แสดงของกล่องจดหมาย
เมื่อต้องการอัพเดตชื่อที่แสดงของกล่องจดหมาย ให้ใช้พารามิเตอร์ -DisplayName ชื่อที่แสดงจะแสดงอยู่ในคุณสมบัติกล่องจดหมายใน Exchange Admin Center รวมถึงในรายการที่อยู่และในไคลเอนต์อีเมล Outlook ความยาวสูงสุดของแอตทริบิวต์ชื่อที่แสดงคือ 256 อักขระ หากชื่อที่แสดงมีการเว้นวรรค คุณต้องใส่ค่าในเครื่องหมายคำพูด (“”)
คำสั่งต่อไปนี้จะอัปเดตชื่อที่แสดงสำหรับกล่องจดหมาย AbbeyWarren เป็น Abbey Eckels:
Set-Mailbox -Identity “AbbeyWarren” -DisplayName “Abbey Eckels”อัปเดต SamAccountName ของกล่องจดหมาย
SamAccountName ใช้เป็นตัวระบุออบเจ็กต์ในไคลเอนต์และระบบปฏิบัติการเซิร์ฟเวอร์รุ่นก่อน Windows 2000 หากต้องการเปลี่ยนค่านี้ ให้ใช้พารามิเตอร์ -SamAccountName โปรดทราบว่าพารามิเตอร์นี้จะพร้อมใช้งานสำหรับ Exchange Server ในสถานที่เท่านั้น
ค่าสามารถมีอักขระได้สูงสุด 20 ตัว ต่อไปนี้เป็นอักขระที่ถูกต้อง:
- จดหมาย
- ตัวเลข
- ช่องว่าง
- จุด (.) (อย่างไรก็ตาม จุดไม่สามารถเป็นอักขระสุดท้ายได้)
- เครื่องหมายอัศเจรีย์ (!)
- แฮช (#)
- เครื่องหมาย (&)
- เปอร์เซ็นต์ (%)
- เส้นประ (-)
- ขีดเส้นใต้ (_)
อักขระ Unicode ทั้งหมดเป็นที่ยอมรับ อย่างไรก็ตาม อักขระเน้นเสียง (เช่น ö) อาจทำให้เกิดการชนกัน
Set-Mailbox -Identity “AbbeyCrawford” -samAccountName abbeyeckelsปรับเปลี่ยนกล่องจดหมายอนุญาโตตุลาการ
Exchange 2016 CU8 และใหม่กว่ามีกล่องจดหมายพิเศษเจ็ดกล่องที่เรียกว่ากล่องจดหมายอนุญาโตตุลาการ ซึ่งใช้เพื่อจัดเก็บข้อมูลระบบบางอย่างและจัดการกระบวนการอนุมัติการส่งข้อความ
หากต้องการปรับเปลี่ยนกล่องจดหมายเหล่านี้อย่างใดอย่างหนึ่ง ให้ใช้พารามิเตอร์ -Arbitration พารามิเตอร์นี้ไม่จำเป็นต้องมีค่า คุณสามารถใช้พารามิเตอร์นี้กับ Exchange Server ในสถานที่เท่านั้น
ไม่ควรใช้พารามิเตอร์นี้เพื่อแก้ไขกล่องจดหมายอนุญาโตตุลาการที่ใช้ในการจัดเก็บการตั้งค่าบันทึกการตรวจสอบหรือข้อมูล ใช้สวิตช์ AuditLog หรือ AuxAuditLog แทน
เรียกใช้คำสั่งต่อไปนี้เพื่อสร้างกล่องจดหมายอนุญาโตตุลาการใหม่ Migration.8f3e7716-2011-43e4-96b1-aba62d229136
Enable-Mailbox -Identity "Migration.8f3e7716-2011-43e4-96b1-aba62d229136" -Arbitrationคำสั่งต่อไปนี้จะตั้งค่าความสามารถที่มีอยู่ (msExchCapabilityIdentifiers) สำหรับกล่องจดหมายอนุญาโตตุลาการที่ระบุ:
Set-Mailbox -Identity "Migration.8f3e7716-2011-43e4-96b1-aba62d229136" -Arbitration -Management $true -Forceระบุฐานข้อมูลการเก็บถาวรสำหรับกล่องจดหมาย
หากต้องการอัปเดตฐานข้อมูล Exchange ที่มีไฟล์เก็บถาวรที่เชื่อมโยงกับกล่องจดหมาย ให้ใช้พารามิเตอร์ -ArchiveDatabase คุณสามารถใช้ค่าใดๆ ที่ระบุฐานข้อมูลโดยไม่ซ้ำกัน เช่น ชื่อ Distinguished Name (DN) หรือ GUID คุณสามารถใช้พารามิเตอร์นี้กับ Exchange Server ในสถานที่เท่านั้น
คำสั่งต่อไปนี้ระบุว่าไฟล์เก็บถาวรที่เกี่ยวข้องกับกล่องจดหมาย AbbeyCrawford คือฐานข้อมูล Exchange ที่เรียกว่า Archive:
Set-Mailbox -Identity “AbbeyCrawford” -ArchiveDatabase Archive
ระบุฐานข้อมูลสำหรับกล่องจดหมาย
หากต้องการกำหนดฐานข้อมูลให้กับเมลบ็อกซ์ ให้ใช้พารามิเตอร์ -Database คุณสามารถใช้ค่าใดๆ ที่ระบุฐานข้อมูลโดยไม่ซ้ำกัน เช่น ชื่อ Distinguished Name (DN) หรือ GUID คุณสามารถใช้พารามิเตอร์นี้กับ Exchange Server ในสถานที่เท่านั้น
Set-Mailbox -Identity “AbbeyCrawford” -Database Marketingตั้งค่าโควต้าการเก็บถาวรสำหรับกล่องจดหมาย
เมื่อต้องการระบุขนาดสูงสุดสำหรับกล่องจดหมายเก็บถาวร ให้ใช้พารามิเตอร์ -ArchiveQuota เมื่อถึงขนาดที่กำหนด เมลบ็อกซ์จะไม่สามารถรับข้อความเพิ่มเติมใดๆ ได้ คุณสามารถใช้พารามิเตอร์นี้กับ Exchange Server ในสถานที่เท่านั้น
สำหรับค่า ให้ระบุ ไม่จำกัด หรือระบุตัวเลขโดยใช้หน่วยใดหน่วยหนึ่งต่อไปนี้:
- บี (ไบต์)
- KB (กิโลไบต์)
- MB (เมกะไบต์)
- GB (กิกะไบต์)
- วัณโรค (เทราไบต์)
Set-Mailbox -Identity “AbbeyCrawford” -ArchiveQuota 50GBคุณสามารถตรวจสอบโควต้าการเก็บถาวรสำหรับกล่องจดหมายในคุณสมบัติ:
ตั้งค่าโควต้าคำเตือนการเก็บถาวรสำหรับกล่องจดหมาย
หากต้องการให้ผู้ใช้ได้รับข้อความเตือนหากกล่องจดหมายเก็บถาวรใกล้ถึงโควต้า คุณสามารถใช้พารามิเตอร์ -ArchiveWarningQuota เพื่อระบุขีดจำกัดคำเตือน คุณสามารถใช้พารามิเตอร์นี้กับ Exchange Server ในสถานที่เท่านั้น
ค่าของ 'โควต้าคำเตือนการเก็บถาวร' ต้องน้อยกว่าหรือเท่ากับค่าของ 'โควต้าคำเตือนการเก็บถาวร' สำหรับค่า ให้ระบุ ไม่จำกัด หรือระบุตัวเลขโดยใช้หน่วยใดหน่วยหนึ่งต่อไปนี้:
- บี (ไบต์)
- KB (กิโลไบต์)
- MB (เมกะไบต์)
- GB (กิกะไบต์)
- วัณโรค (เทราไบต์)
Set-Mailbox -Identity “AbbeyCrawford” -ArchiveQuota 45GBคุณสามารถตรวจสอบโควต้าคำเตือนการเก็บถาวรสำหรับกล่องจดหมายในคุณสมบัติ:
ตั้งค่าที่อยู่การส่งต่อภายในสำหรับกล่องจดหมาย
หากต้องการส่งต่อข้อความที่ส่งไปยังกล่องจดหมายไปยังกล่องจดหมายอื่นในระบบของคุณ ให้ใช้พารามิเตอร์ -พารามิเตอร์ ForwardingAddress คุณสามารถใช้ตัวระบุที่ไม่ซ้ำกันสำหรับกล่องจดหมายอื่นได้ เช่น ชื่อ นามแฝง Distinguished Name (DN) ที่อยู่อีเมล หรือ GUID
ตามรายละเอียดด้านล่าง การตั้งค่า DeliverToMailBoxAndForward จะควบคุมว่าจะส่งข้อความไปยังกล่องจดหมายทั้งสองกล่องหรือเฉพาะกล่องจดหมายส่งต่อเท่านั้น
Set-Mailbox -Identity “AbbeyCrawford” -ForwardingAddress “AbbeyEckels”คุณสามารถดูที่อยู่อีเมลสำหรับส่งต่อสำหรับกล่องจดหมายได้ในคุณสมบัติ:
ตั้งค่าที่อยู่การส่งต่อภายนอกสำหรับกล่องจดหมาย
หากต้องการส่งต่อข้อความไปยังที่อยู่อีเมลภายนอก ให้ใช้พารามิเตอร์ -ForwardingSmtpAddress
โปรดทราบว่าถ้าคุณระบุทั้ง ForwardingAddress และ ForwardingSMTPAAddress สำหรับกล่องจดหมายที่กำหนด ข้อความจะถูกส่งต่อไปยัง ForwardingAddress ภายในเท่านั้น
โปรดทราบว่าการตั้งค่า DeliverToMailBoxAndForward ตามรายละเอียดด้านล่างจะควบคุมว่าข้อความจะถูกส่งไปยังกล่องจดหมายทั้งสองหรือเฉพาะกล่องจดหมายการส่งต่อเท่านั้น
Set-Mailbox -Identity “AbbeyCrawford” -ForwardingSmtpAddress “test@google.com”สังเกตคำเตือนในรูป ตามที่แนะนำ ให้ปิดการใช้งาน DeliverToMailboxAndForwarding สำหรับกล่องจดหมาย หากคุณเรียกใช้ cmdlet อีกครั้ง คุณจะเห็นว่าการเปลี่ยนแปลงของคุณมีผลแล้ว
หากต้องการตรวจสอบสถานะของตัวเลือกการส่งต่อทั้งหมด ให้ใช้คำสั่งต่อไปนี้:
Get-Mailbox AbbeyCrawford : FL
DeliverToMailboxAndForward,ForwardingAddress,ForwardingSmtpAddress
เพื่อยืนยันสถานการณ์นี้เพิ่มเติม คุณสามารถเรียกใช้ Set-Mailbox cmdlet เพื่อตั้งค่าที่อยู่การส่งต่ออีกครั้ง และคุณจะเห็นข้อความเตือนว่าที่อยู่ SMTP การส่งต่อมีอยู่แล้วและจะถูกเขียนทับ
ควบคุมว่ากล่องจดหมายใดที่จะส่งต่อข้อความไปที่
เมื่อตั้งค่าที่อยู่การส่งต่อ (ภายในหรือภายนอก) สำหรับกล่องจดหมาย คุณสามารถควบคุมได้ว่าจะให้ส่งข้อความไปยังกล่องจดหมายทั้งสองหรือเฉพาะที่อยู่อีเมลที่ส่งต่อโดยใช้ -พารามิเตอร์ DeliveryToMailBoxAndForward มันต้องใช้ค่าบูลีน:
- $False (ค่าเริ่มต้น) — ข้อความจะถูกส่งไปยังกล่องจดหมายการส่งต่อเท่านั้น และไม่ใช่ไปยังกล่องจดหมายดั้งเดิม
- $True — ข้อความจะถูกส่งไปยังกล่องจดหมายและกล่องจดหมายส่งต่อ
คำสั่งต่อไปนี้จะสร้างที่อยู่การส่งต่อสำหรับกล่องจดหมาย และทำให้ข้อความถูกส่งไปยังกล่องจดหมายทั้งสอง:
Set-Mailbox -Identity “AbbeyCrawford” -ForwardingAddress “AbbeyEckels” -DeliverToMailBoxAndForward $Trueหากต้องการดูรายละเอียดการตั้งค่าการส่งต่อ ให้ใช้ cmdlet ต่อไปนี้:
Get-Mailbox AbbeyCrawford | FL DeliverToMailboxAndForward,ForwardingAddress,ForwardingSmtpAddressแก้ไขกล่องจดหมายหลายกล่องพร้อมกัน
หากคุณต้องการเปลี่ยนคุณสมบัติเดียวกันในกล่องจดหมายหลายกล่อง ขั้นแรกให้ใช้ตัวกรองเพื่อรับกล่องจดหมายทั้งหมด จากนั้นใช้ Set-Mailbox cmdlet เพื่อแก้ไขกล่องจดหมาย ตัวอย่างเช่น ต่อไปนี้คือวิธีที่เราสามารถตั้งค่าที่อยู่สำหรับส่งต่อสำหรับพนักงานทุกคนในแผนกทรัพยากรบุคคล:
Get-AdUser -Filter {department eq 'HR'} | ForEach {Set-Mailbox -Identity $_.Name -DeliverToMailboxAndForward $true -ForwardingAddress "AbbeyCrawford"}ดังที่คุณเห็นที่นี่ การรันเพียงส่วนแรกของ cmdlet จะทำให้ผู้ใช้ทั้งหมดในแผนกทรัพยากรบุคคล:
Get-ADUser -Filter {department eq 'HR'} | ftด้วย cmdlet แบบเต็ม ลูป ForEach จะตั้งค่าที่อยู่การส่งต่อที่ระบุ (AbbeyCrawford) สำหรับกล่องจดหมายของพนักงาน HR แต่ละคน
โปรดทราบว่าคำสั่งจะไม่สร้างเอาต์พุตใดๆ แต่ถ้าไม่มีข้อผิดพลาด การเปลี่ยนแปลงจะถูกนำไปใช้สำเร็จ คุณสามารถดูได้ใน Exchange Administration Center

















