จัดการที่อยู่อีเมลโดยใช้ PowerShell | ออฟฟิศ 365
บทความปัจจุบันและบทความถัดไป สร้างขึ้นเป็น “การอ้างอิงคำสั่ง PowerShell ” สำหรับงานต่างๆ ที่เกี่ยวข้องกับหัวข้อ - “การจัดการที่อยู่อีเมลใน Office 365 และสภาพแวดล้อมที่ใช้ Exchange Online ” โดยใช้ PowerShell
การเพิ่มที่อยู่อีเมลให้กับผู้รับ Exchange Online โดยใช้ PowerShell
“การเพิ่มที่อยู่อีเมลโดยใช้คำสั่ง Set-Mailbox | ผู้รับกล่องจดหมาย
Exchange Online มีผู้รับหลายประเภท เช่น “ผู้รับกล่องจดหมาย” “ผู้รับกลุ่ม” “ผู้รับที่ติดต่อ” “ผู้รับโฟลเดอร์สาธารณะ” และอื่นๆ
ตัวอย่างคำสั่ง PowerShell ส่วนใหญ่ที่เกี่ยวข้องกับงานในการเพิ่มที่อยู่อีเมลใหม่จะเกี่ยวข้องกับ Exchange Online “ผู้รับกล่องจดหมาย ”
PowerShell cmdlets ที่เราใช้ในการเพิ่มหรือลบที่อยู่อีเมลของ “ผู้รับกล่องจดหมาย” คือคำสั่ง Set-Mailbox ของ PowerShell
คุณสมบัติที่เก็บข้อมูลเกี่ยวกับที่อยู่อีเมล
ข้อมูลเกี่ยวกับที่อยู่อีเมลของ "ผู้รับกล่องจดหมาย" ของ Exchange Online (และที่อยู่ประเภทอื่นๆ) ที่จัดเก็บไว้ใน "คุณสมบัติที่อยู่อีเมล" ซึ่งทำหน้าที่เป็นคอนเทนเนอร์แบบลอจิคัลสำหรับที่อยู่อีเมลทั้งหมดที่เกี่ยวข้องกับ ของ “ผู้รับกล่องจดหมาย”
ตัวอย่างเช่น “คุณสมบัติที่อยู่อีเมล” มีข้อมูลเกี่ยวกับที่อยู่อีเมลหลัก ที่อยู่อีเมลพร็อกซี ที่อยู่ x500 ที่อยู่ SIP และอื่นๆ
คุณสมบัติ "ผู้รับกล่องจดหมาย" เพิ่มเติมที่มีข้อมูลเกี่ยวกับผู้รับ ที่อยู่อีเมลหลักคือคุณสมบัติ WindowsEmailAddress
แม้ว่าข้อมูลเกี่ยวกับที่อยู่อีเมลหลักจะปรากฏใน “คุณสมบัติ EmailAddress” แต่เราจะใช้คุณสมบัติ WindowsEmailAddress สำหรับงานที่เราจำเป็นต้องอัปเดตที่อยู่อีเมลหลัก
ที่อยู่อีเมลกล่องจดหมายของผู้ใช้ Exchange Online ประเภทต่างๆ
โดยส่วนใหญ่แล้ว คำว่า "ที่อยู่อีเมล" จะถูกแปลเป็น "ที่อยู่อีเมล SMTP" ผู้รับ Exchange Online สามารถมี "ที่อยู่" ประเภทเพิ่มเติมได้ เช่น ที่อยู่อีเมล x500 และที่อยู่ SIP เราจะพูดถึง "ที่อยู่" ประเภทนี้โดยสังเขป
สองวิธีในการเพิ่มที่อยู่อีเมลให้กับผู้รับ Exchange Online
งานการเพิ่มที่อยู่อีเมลใหม่สามารถทำได้โดยใช้สองวิธี:
1. การใช้ไวยากรณ์คำสั่ง Set-Mailbox เริ่มต้น
นี่เป็นวิธีที่ต้องการน้อยที่สุดเพราะเมื่อเราใช้ตัวเลือกนี้ ที่อยู่อีเมลใหม่จะ "ส่งผ่าน" ที่อยู่อีเมลที่มีอยู่ และลบที่อยู่อีเมลที่มีอยู่ เช่น
ที่อยู่อีเมลพร็อกซี
<แข็งแกร่ง>2. การใช้คำสั่ง Set-mailbox + เมธอด “@{add ”
นี่เป็นวิธีที่ต้องการมากกว่าเพราะเมื่อเราใช้วิธี “@{add ” ที่อยู่อีเมลใหม่จะ "รวม" ที่อยู่อีเมลของผู้รับที่มีอยู่ แทนที่จะแทนที่และลบที่อยู่อีเมลที่มีอยู่
แทนที่/อัปเดตที่อยู่อีเมลหลักที่มีอยู่ | ผู้รับกล่องจดหมาย
วิธีที่ 1#2 - การเพิ่ม (แทนที่) ที่อยู่อีเมลหลัก | การใช้ Set-Mailbox เริ่มต้น ไวยากรณ์คำสั่ง
ในกรณีที่เราใช้ชุดกล่องจดหมาย PowerShell พร้อมพารามิเตอร์ “-EmailAddress ” และระบุที่อยู่อีเมล PowerShell จะใช้ที่อยู่อีเมลที่ให้ไว้เพื่อทดแทนที่อยู่อีเมลหลักที่มีอยู่
ที่อยู่อีเมลหลักก่อนหน้านี้จะถูกบันทึกเป็น: ที่อยู่อีเมลพร็อกซี ที่อยู่อีเมลของผู้รับที่มีอยู่ทั้งหมด จะถูกลบออก!
ตามที่กล่าวไว้ นี่เป็นวิธีที่ต้องการน้อยที่สุด
การแทนที่ที่อยู่อีเมลหลักที่มีอยู่ | วิธีที่ 1#2
ไวยากรณ์คำสั่ง PowerShell:
Set-Mailbox <Identity> -EmailAddress <NEW primary E-mail address>ตัวอย่างคำสั่ง PowerShell:
Set-Mailbox "Bob" -EmailAddress BobNewEmail@o365info.comวิธีที่ 2#2 - การเพิ่ม (แทนที่) ที่อยู่อีเมลหลัก | ตั้งค่าคุณสมบัติ - WindowsEmailAddress
นี่เป็นวิธีที่ต้องการเนื่องจากเมื่อใช้วิธีนี้ ที่อยู่อีเมลเพิ่มเติมของผู้รับ Exchange Online จะไม่ถูกลบออก
ในวิธีนี้ เราจะ “ระบุ” คุณสมบัติกล่องจดหมาย Exchange Online อื่นๆ ที่มีชื่อว่า - WindowsEmailAddress
คุณสมบัติกล่องจดหมาย Exchange Online - WindowsEmailAddress “มี” ที่อยู่อีเมลหลักของผู้รับ
ในกรณีที่เราตั้งค่าที่อยู่อีเมลที่จัดเก็บไว้ในคุณสมบัติ WindowsEmailAddress ที่อยู่อีเมลหลักของผู้รับ Exchange Online ก็จะได้รับการอัปเดตด้วย
การแทนที่ที่อยู่อีเมลหลักที่มีอยู่ | วิธีที่ 2#2
ไวยากรณ์คำสั่ง PowerShell:
Set-Mailbox <Identity> -WindowsEmailAddress <NEW primary E-mail address>ตัวอย่างคำสั่ง PowerShell:
Set-Mailbox "Bob" -WindowsEmailAddress BobNewEmail@o365info.comเพิ่มที่อยู่อีเมลเพิ่มเติม (ที่อยู่อีเมลพร็อกซี) โดยใช้วิธี “@{add ”
เมื่อใช้วิธี “@{add” PowerShell ที่อยู่อีเมลที่เราระบุจะถูกเพิ่มลงใน “อาร์เรย์ที่อยู่อีเมล” ที่มีอยู่เป็น - ที่อยู่อีเมลเพิ่มเติม
หากต้องการเพิ่มที่อยู่อีเมลเพิ่มเติมให้กับผู้รับโดยไม่ "กระทบต่อ" ที่อยู่อีเมลที่มีอยู่ เราสามารถใช้ไวยากรณ์ต่อไปนี้:
เพิ่มที่อยู่อีเมลพร็อกซี
ไวยากรณ์คำสั่ง PowerShell:
Set-Mailbox <identity> -EmailAddresses @{add="<E-mail address>"}ตัวอย่างคำสั่ง PowerShell:
Set-Mailbox "Angelina" -EmailAddresses @{add="Angelina-Alias11@o365info.com"}เพิ่มที่อยู่อีเมลพร็อกซีหลายรายการ
ในกรณีที่เราต้องการเพิ่มที่อยู่อีเมลหลายรายการ เราสามารถแยกที่อยู่อีเมลแต่ละรายการด้วยเครื่องหมายจุลภาค
ตัวอย่างคำสั่ง PowerShell:
Set-Mailbox "Angelina" -EmailAddresses @{add="Angelina-Alias11@o365info.com","Angelina-Alias12@o365info.com"}การเพิ่มประเภทที่อยู่เพิ่มเติม
เพิ่มหรืออัปเดตที่อยู่ SIP | ผู้รับกล่องจดหมาย
ในกรณีที่เราจำเป็นต้องเพิ่มที่อยู่ SIP หรือแทนที่ที่อยู่ SIP ที่มีอยู่ เราสามารถใช้ไวยากรณ์คำสั่ง PowerShell ต่อไปนี้:
ไวยากรณ์คำสั่ง PowerShell:
Set-Mailbox <identity> -EmailAddresses SIP:<SIP Address>ตัวอย่างคำสั่ง PowerShell:
Set-Mailbox "Angelina" -EmailAddresses SIP:Angelina@o365info.comเพิ่มหรืออัปเดต x500 ที่อยู่อีเมล | ผู้รับกล่องจดหมาย
ไวยากรณ์คำสั่ง PowerShell:
$User=Get-Mailbox <Identity>
$User.EmailAddresses+="<X.500 Email Address>"
Set-Mailbox <Identity> -EmailAddresses $User.EmailAddressesตัวอย่างคำสั่ง PowerShell:
$User=Get-Mailbox John
$User.EmailAddresses+="X500:/O=ORG /OU=FIRST ADMINISTRATIVE GROUP/CN=RECIPIENTS/CN=XX"
Set-Mailbox John -EmailAddresses $User.EmailAddressesการอัปเดตคุณสมบัติกล่องจดหมาย Exchange Online ในสภาพแวดล้อมการซิงโครไนซ์ไดเรกทอรี
ในกรณีที่โครงสร้างพื้นฐานของคุณเป็นไปตามสภาพแวดล้อม การซิงโครไนซ์ไดเรกทอรี หรือ สภาพแวดล้อม Exchange Hybrid เราไม่สามารถ ใช้ “Exchange Online PowerShell ” เพื่อดำเนินการอัปเดตการกำหนดค่า ของ “วัตถุคลาวด์” เช่น - กล่องเมลของผู้รับ Exchange Online
ในสถานการณ์ประเภทนี้ เราจำเป็นต้องรันงานการจัดการที่อยู่อีเมลต่างๆ จากสภาพแวดล้อมภายในองค์กร
เช่น ในกรณีที่เรามีสภาพแวดล้อม Exchange Hybrid และเราจำเป็นต้องอัปเดตที่อยู่อีเมลของผู้รับ เช่น “ผู้รับ Remote mailbox ” (ผู้รับที่มีกล่องจดหมาย Exchange Online) เราจะจำเป็นต้องใช้ “แลกเปลี่ยนคอนโซล PowerShell ภายในองค์กร”
หากต้องการอัปเดตที่อยู่อีเมลหลักของผู้รับกล่องจดหมาย Exchange Online ซึ่งได้รับการซิงโครไนซ์จาก Exchange on-Premises เราจะต้องเรียกใช้คำสั่งจากคอนโซล PowerShell ของ Exchange on-Premises โดยใช้ไวยากรณ์ต่อไปนี้:
ไวยากรณ์คำสั่ง PowerShell:
Set-RemoteMailbox <Mailbox> -EmailAddresses <Primary E-mail address> -EmailAddressPolicyEnabled $falseตัวอย่างคำสั่ง PowerShell:
Set-RemoteMailbox "John" -EmailAddresses John@o365info.com -EmailAddressPolicyEnabled $falseการนำการดำเนินการจำนวนมากไปใช้โดยใช้ PowerShell | คำนำหน้า
ในส่วนถัดไป เราจะตรวจสอบสถานการณ์ต่างๆ ที่เราใช้ "โหมดจำนวนมาก" เพื่ออัปเดตที่อยู่อีเมลที่มีอยู่หรือเพิ่มที่อยู่อีเมลเพิ่มเติม
กระบวนการแบบกลุ่มถือได้ว่าเป็นเครื่องมือที่ทรงพลังมาก แต่ในขณะเดียวกัน เวลาก็ถือเป็น "เครื่องมืออันตราย" เพราะการอัปเดตที่เราดำเนินการอาจส่งผลกระทบต่อผู้รับ Exchange ที่มีอยู่ทั้งหมด
ด้วยเหตุนี้ คำแนะนำคือการทดสอบการดำเนินการจำนวนมากโดยใช้ "ทดสอบกล่องจดหมาย" และโดยใช้พารามิเตอร์ PowerShell "Whatif"
สองวิธีในการกำหนด “อาร์เรย์ผู้รับ”
ในส่วนต่อไปนี้ เราจะตรวจสอบสองวิธีในการใช้โหมด Bulk:
- วิธีที่ 1 - กำหนด “อาร์เรย์” ของผู้รับ โดยใช้ตัวแปรที่เก็บเนื้อหาของคำสั่ง PowerShell เช่น Get-Mailbox
- วิธีที่ 2 - กำหนด “อาร์เรย์” ของผู้รับ โดยใช้ตัวแปรที่เก็บเนื้อหาที่ “ดึงข้อมูล” จากไฟล์ CSV ซึ่งมีข้อมูลเกี่ยวกับผู้รับที่เราต้องการอัปเดตที่อยู่อีเมลของตน
คำอธิบายสถานการณ์
ตัวอย่างที่เราตรวจสอบจะขึ้นอยู่กับสถานการณ์ต่อไปนี้:
- บริษัทของเราใช้ชื่อโดเมนสาธารณะ - o365info.com
- บริษัทของเราซื้อชื่อโดเมนเพิ่มเติม - o365pilot.com
ในปัจจุบัน ผู้ใช้ของบริษัททั้งหมดมีที่อยู่อีเมลที่ใช้ส่วนต่อท้ายชื่อโดเมน
- “o365pilot.com ”
งานของเราคือ:
- สถานการณ์ที่ 1 - แทนที่ที่อยู่อีเมลหลักที่มีอยู่เป็นที่อยู่อีเมลหลักใหม่ที่ใช้ชื่อโดเมนใหม่ (o365pilot.com)
- สถานการณ์ที่ 2 - เพิ่มที่อยู่อีเมลเพิ่มเติม (ที่อยู่อีเมลพร็อกซี) โดยใช้ชื่อโดเมนใหม่ (o365pilot.com)
1. เพิ่มที่อยู่อีเมลนามแฝงเพิ่มเติมโดยใช้ส่วนต่อท้ายชื่อโดเมนใหม่ให้กับผู้รับกล่องจดหมายทั้งหมด | โหมดเป็นกลุ่ม
ในส่วนต่อไปนี้ เราจะตรวจสอบกระบวนการใช้สคริปต์จำนวนมากของ PowerShell ซึ่งจะทำหน้าที่:
การเพิ่มที่อยู่อีเมลแทนใหม่ ซึ่งใช้ส่วนต่อท้ายชื่อโดเมนใหม่ สำหรับผู้รับกล่องจดหมาย Exchange Online ของเราแต่ละราย
ในสถานการณ์สมมติของเรา ที่อยู่อีเมลเพิ่มเติม (ที่อยู่อีเมลพร็อกซี) จะขึ้นอยู่กับโครงสร้างต่อไปนี้:
- ที่อยู่อีเมลใหม่ “นามแฝง ” (ส่วนด้านซ้าย) จะเหมือนกันกับนามแฝงของที่อยู่อีเมลหลักของผู้รับ
- ส่วนต่อท้ายที่อยู่อีเมล (ส่วนขวาของที่อยู่อีเมล) จะใช้ “ส่วนต่อท้ายชื่อโดเมน
ใหม่ - “o365pilot.com“
เพิ่มที่อยู่อีเมลพร็อกซีใหม่โดยใช้ส่วนต่อท้ายชื่อโดเมนเฉพาะ
$Domainsuffix = Read-Host "Type the name of the Domain name suffix"
$AllMailboxes = Get-Mailbox -ResultSize Unlimited
Foreach ($Mailbox in $AllMailboxes) {
# Creating NEW E-mail address that contracted in the following way: Take the existing recipient Alias name + use the NEW Domain name as a domain suffix + "Bind" the Alias name + the NEW Domain name suffix.
$NewAddress = $Mailbox.Alias + "@$Domainsuffix"
# "Store" all existing E-mail addresses + add the NEW E-mail address as an additional E-mail address.
$Mailbox.EmailAddresses += $NewAddress
# Assign the NEW E-mail address to the existing Exchange Online recipient
Set-Mailbox -Identity $Mailbox.Alias -EmailAddresses $Mailbox.EmailAddresses #-whatif
}2. แทนที่ส่วนต่อท้ายชื่อโดเมนที่อยู่อีเมลหลักด้วยส่วนต่อท้ายชื่อโดเมนใหม่ | โหมดเป็นกลุ่ม
ในส่วนต่อไปนี้ เราจะตรวจสอบกระบวนการใช้สคริปต์จำนวนมากของ PowerShell ซึ่งจะทำหน้าที่:
การแทนที่ ที่อยู่อีเมลหลักที่มีอยู่ด้วยที่อยู่อีเมลหลักใหม่ที่ใช้ ส่วนต่อท้ายชื่อโดเมนที่แตกต่างกันสำหรับผู้รับกล่องจดหมาย Exchange Online แต่ละคน
เราถูกขอให้ดำเนินงานต่อไปนี้:
- แทนที่ที่อยู่อีเมลหลักปัจจุบันที่ใช้ชื่อโดเมน - “o365info.com ” ด้วยที่อยู่อีเมลหลักใหม่ ซึ่งใช้ส่วนต่อท้ายชื่อโดเมน - o365pilot.com
- ชื่อนามแฝงของผู้รับ Exchange (ส่วนขวาของที่อยู่อีเมล) จะยังคงเหมือนเดิม กล่าวอีกนัยหนึ่ง เราต้องการเก็บชื่อนามแฝงที่มีอยู่จากที่อยู่อีเมลหลักปัจจุบัน และแทนที่ "ส่วนด้านซ้าย" (ส่วนต่อท้ายชื่อโดเมน) ด้วยส่วนต่อท้ายชื่อโดเมนใหม่
- ที่อยู่อีเมลหลักก่อนหน้านี้จะไม่ถูกลบ แต่จะบันทึกเป็นที่อยู่อีเมลแทน
(ที่อยู่อีเมลเพิ่มเติม) - ที่อยู่อีเมลนามแฝงที่มีอยู่ทั้งหมดและที่อยู่อื่น ๆ เช่นที่อยู่ SIP ของผู้รับจะถูกเก็บไว้
แทนที่ส่วนต่อท้ายชื่อโดเมนของที่อยู่อีเมลหลักด้วยส่วนต่อท้ายชื่อโดเมนใหม่
Foreach ($Mailbox in $AllMailboxes) {
# Creating NEW E-mail address that contracted in the following way: Take the existing recipient Alias name + use the NEW Domain name as a domain suffix + "Bind" the Alias name + the NEW Domain name suffix.
$NewAddress = $Mailbox.Alias + "@o365pilot.com"
Set-Mailbox -Identity $Mailbox.Alias -WindowsEmailAddress $NewAddress #-whatif
}การดำเนินการแบบกลุ่ม - การทำงานกับไฟล์ CSV | คำนำหน้า
ในส่วนถัดไป เราจะตรวจสอบสถานการณ์สองสามสถานการณ์ที่เราใช้งานการจัดการงาน "ที่อยู่อีเมล" เช่น - การเพิ่มที่อยู่อีเมลโดยการนำเข้าข้อมูลจากไฟล์ CSV
ไฟล์ CSV ทำหน้าที่เป็น "คอนเทนเนอร์แบบลอจิคัล" ที่เก็บข้อมูล
ในสถานการณ์ของเรา CSV จะทำหน้าที่เป็นคอนเทนเนอร์ที่เก็บข้อมูลเกี่ยวกับผู้รับ Exchange Online และที่อยู่อีเมลของพวกเขาที่เราต้องการเพิ่ม
โครงสร้างของไฟล์ CSV ที่เราใช้ในสถานการณ์ของเรา
แต่ละคอลัมน์ในไฟล์ CSV มีและ ชื่อส่วนหัว
เมื่อเราต้องการระบุข้อมูลที่จัดเก็บไว้ในคอลัมน์ใดคอลัมน์หนึ่ง เราจะจัดเตรียมคำสั่ง PowerShell ให้เป็นชื่อของส่วนหัวของคอลัมน์เฉพาะ
ในทางเทคนิคแล้ว ไฟล์ CSV เป็นเพียงไฟล์ข้อความ และเราสามารถใช้โปรแกรมแก้ไขข้อความแบบธรรมดาเพื่อแก้ไขเนื้อหาไฟล์ได้
โดยส่วนใหญ่เราจะใช้แอปพลิเคชันอื่น เช่น Microsoft Excel ในการแก้ไขไฟล์ CSV เพราะการแก้ไขข้อมูลโดยใช้ Excel นั้นสะดวกกว่าอีกด้วย
ในภาพหน้าจอต่อไปนี้ เราจะเห็นตัวอย่างไฟล์ CSV ที่เปิดใน Excel
ชื่อส่วนหัวคอลัมน์ของไฟล์ CSV
เมื่อใช้ไฟล์ CSV เราสามารถ "เลือก" ชื่อส่วนหัวของคอลัมน์ที่เหมาะกับความต้องการของเราได้ ขอแนะนำให้เลือกชื่อส่วนหัวของคอลัมน์ที่มีความหมายและไม่ใช้ช่องว่างใดๆ
ไฟล์ CSV มีสามคอลัมน์:
- คอลัมน์ชื่อ - ผู้รับ (หมายเลข 1) มี "ข้อมูลระบุตัวตนของผู้รับ" ของเรา ในทางเทคนิคแล้ว เราสามารถใช้คุณสมบัติผู้รับต่างๆ เพื่อกำหนด "ข้อมูลระบุตัวตนของผู้รับ"
ตัวอย่างเช่น นามแฝงของผู้รับ ที่อยู่อีเมลของผู้รับ ชื่อที่แสดงของผู้รับ และอื่นๆ ในตัวอย่างเฉพาะของเรา เราใช้ผู้รับ “ชื่อที่แสดง ” เป็นข้อมูลระบุตัวตนของผู้รับ - คอลัมน์ชื่อ - PrimaryEmail (หมายเลข 2) มีที่อยู่อีเมลของผู้ใช้ที่เราต้องการตั้งค่าเป็น “ที่อยู่อีเมลหลัก” ”
- คอลัมน์ชื่อ - AliasEmail (หมายเลข 3) มีที่อยู่อีเมลของผู้ใช้ที่เราต้องการตั้งค่าเป็น
เป็น “Alias E - ที่อยู่อีเมล”
นำเข้าข้อมูลจากไฟล์ CSV
โดยส่วนใหญ่แล้ว เราจะ "ดึงข้อมูล" ข้อมูลที่จัดเก็บไว้ในไฟล์ CSV โดยการกำหนดตัวแปรที่รวมเนื้อหาของคำสั่ง PowerShell - Import-CSV
ในตัวอย่างของเรา เรากำหนดตัวแปรชื่อ - $Recipients ซึ่งจะ “มี” เนื้อหาของไฟล์ CSV ที่เรานำเข้า
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csvส่งออกข้อมูลจากไฟล์ CSV
การทำงานของ "นำเข้าข้อมูลจากไฟล์ CSV" ขึ้นอยู่กับขั้นตอนเบื้องต้นที่เราส่งออกข้อมูลที่จำเป็นไปยังไฟล์ CSV คุณสามารถอ่านข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการของไวยากรณ์ PowerShell ที่เราใช้สำหรับการส่งออกข้อมูลไปยังรูปแบบไฟล์ประเภทต่างๆ ได้ในบทความ ส่งออกและแสดงข้อมูลเกี่ยวกับที่อยู่อีเมลโดยใช้ PowerShell | ออฟฟิศ 365 | ตอนที่ 6#13.
ในหัวข้อ “ข้อมูลที่เราส่งออกไปยังไฟล์คืออะไร” คุณสามารถอ่านบทความแสดงข้อมูลเกี่ยวกับที่อยู่อีเมลโดยใช้ PowerShell | การปรับแต่งเอาต์พุตโดยใช้ Hash Table และ Custom expressions | ออฟฟิศ 365 | ตอนที่ 7#13.
1. อัปเดตที่อยู่อีเมลหลัก + พรอกซีโดยการนำเข้าข้อมูลจากไฟล์ CSV | โหมดเป็นกลุ่ม
ในตัวอย่างถัดไป เราจำเป็นต้องปฏิบัติตามข้อกำหนดต่อไปนี้:
- แทนที่ (ลบ) ที่อยู่อีเมลหลักที่มีอยู่ด้วยที่อยู่อีเมลหลักใหม่ที่เก็บไว้ ในไฟล์ CSV
- แทนที่ (ลบ) อีเมลนามแฝงที่มีอยู่ด้วยที่อยู่อีเมลนามแฝงใหม่ที่เก็บอยู่ใน ไฟล์ CSV
แทนที่ที่อยู่อีเมลหลักด้วยที่อยู่อีเมลหลักใหม่ที่จัดเก็บไว้ในไฟล์ CSV
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csv
Foreach ($Mailbox in $Recipients) {
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses $Mailbox.PrimaryEmail, $Mailbox.AliasEmail # -WhatIf
}2. อัปเดตที่อยู่อีเมลหลัก + พร็อกซีโดยการนำเข้าข้อมูลจากไฟล์ CSV | เก็บที่อยู่อีเมลของผู้รับที่มีอยู่ | โหมดเป็นกลุ่ม
ในตัวอย่างถัดไป เราจำเป็นต้องปฏิบัติตามข้อกำหนดต่อไปนี้:
- แทนที่ (ลบ) ที่อยู่อีเมลหลักที่มีอยู่ด้วยที่อยู่อีเมลหลักใหม่ที่เก็บไว้ ในไฟล์ CSV
- เพิ่ม ที่อยู่อีเมลแทนใหม่จากไฟล์ CSV ที่อยู่อีเมลใหม่จะถูกเพิ่มไปยังที่อยู่อีเมลของผู้รับที่มีอยู่เป็นที่อยู่อีเมลเพิ่มเติม
โปรดสังเกตว่าเมื่อเทียบกับสถานการณ์ก่อนหน้านี้ เราไม่ต้องการลบที่อยู่อีเมลแทนที่มีอยู่ซึ่งผู้รับมีอยู่แล้ว แต่เราต้องการเพิ่มที่อยู่อีเมลเพิ่มเติมให้กับ "อาร์เรย์" ที่มีอยู่ของที่อยู่อีเมลผู้รับแทน
แทนที่ส่วนต่อท้ายชื่อโดเมนของที่อยู่อีเมลหลักด้วยส่วนต่อท้ายชื่อโดเมนใหม่
$Recipients = Import-Csv C:\Temp\Recipient-E-mail-addresses.csv
Foreach ($Mailbox in $Recipients) {
Set-Mailbox -Identity $Mailbox.Recipient -EmailAddresses @{Add = $Mailbox.AliasEmail } # -WhatIf
}3. เพิ่มที่อยู่อีเมลพร็อกซีหลายรายการโดยการนำเข้าข้อมูลจากไฟล์ CSV | โหมดเป็นกลุ่ม
ในสถานการณ์ถัดไป เราจำเป็นต้องเพิ่มที่อยู่อีเมลพร็อกซีเพิ่มเติมที่จัดเก็บไว้ในไฟล์ CSV ให้กับผู้รับของเรา
- ไฟล์ CSV จะจัดเก็บที่อยู่อีเมลพร็อกซีในคอลัมน์ชื่อ - “AliasEmail ”
- ชื่อของผู้รับจะถูกจัดเก็บไว้ในคอลัมน์ชื่อ - “ผู้รับ ”
ในภาพหน้าจอต่อไปนี้ เราจะเห็นโครงสร้างของไฟล์ CSV
เพิ่มที่อยู่อีเมลพร็อกซีหลายรายการ - นำเข้าจากไฟล์ CSV
Import-Csv C:\temp\Recipient-Proxy-E-mail-addresses.csv | ForEach-Object {
$Recipient = $_.Recipient
$ProxyAddresses = $_.AliasEmail -split ';'
Set-Mailbox -Identity $Recipient -EmailAddresses @{add = $ProxyAddresses }
}ในบทความถัดไป เราจะดูที่จัดการที่อยู่อีเมลโดยใช้ PowerShell | ออฟฟิศ 365 | อ้างอิงคำสั่ง | ตอนที่ 2#13.



