Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> อีเมล

ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV

มาพิจารณาวิธีการส่งออก Global Address List (GAL) ของ Exchange หรือ Offline Address Book เป็นไฟล์ข้อความ CSV GAL มีที่อยู่อีเมลทั้งหมดขององค์กร Exchange On-premises หรือ Exchange Online (Office 365) tenant สามารถใช้ไฟล์ CSV พร้อมรายชื่อติดต่อจากสมุดที่อยู่องค์กร เพื่อนำเข้า (import) ติดต่อไปยังไคลเอนต์อีเมลหรือบริการอีเมลของบุคคลที่สาม

มาดูเครื่องมือส่งออก: สามารถใช้ Exchange Admin Center, PowerShell, MS Access, Outlook, หรือยูทิลิตี้ csvde

วิธีส่งออก Global Address List เป็น CSV ใน On-Prem Exchange Server

วิธีง่ายที่สุดคือส่งออกรายชื่อที่อยู่โดยตรงจากคอนโซล Exchange Admin Center (EAC) ไปที่ Recipients → Mailbox คลิก … และเลือก Export data to a CSV file

ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV

ต่อไปสามารถเลือกคุณสมบัติ (แอตทริบิวต์) ของผู้ใช้ที่ต้องการส่งออกเป็น CSV

ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV

แต่ด้วยวิธีนี้ ส่งออกได้เฉพาะที่อยู่อีเมลของผู้ใช้เท่านั้น เพื่อส่งออกที่อยู่ของกลุ่มการแจกจ่าย (Distribution Groups) ต้องไปที่ Groups และส่งออกจากที่นั่น (คล้ายกับ Contacts, Resources, Shares)

เพื่อดึงรายชื่อที่อยู่ในโดเมน สามารถใช้คำสั่ง PowerShell Get-Recipient เช่น ต้องการแสดงรายชื่อ ชื่อ SMTP และเบอร์โทร ติดต่อ Exchange Server จาก PowerShell และรัน:

Get-Recipient| Select-Object Name,PrimarySmtpAddress, Phone

ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV

เพื่อแสดงเฉพาะรายการใน Default Global Address List ใช้ฟิลเตอร์นี้:

$filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilter
Get-Recipient -ResultSize unlimited -RecipientPreviewFilter $filter | Select-Object Name,PrimarySmtpAddress, Phone

ผลลัพธ์ Get-Recipient จำกัดที่ 1000 ออบเจ็กต์ เพื่อดึงที่อยู่มากกว่านั้น ใช้พารามิเตอร์ -ResultSize Unlimited

เพื่อยกเวิกรายการที่ซ่อนจากสมุดที่อยู่ (แอตทริบิวต์ HiddenFromAddressLists) ใช้คำสั่ง Export-CSV เพื่อส่งออกผลลัพธ์เป็นไฟล์ CSV:

Get-Recipient -RecipientPreviewFilter $filter | Where-Object {$_.HiddenFromAddressListsEnabled -ne $true} | Select-Object Name,PrimarySmtpAddress, Phone | Export-CSV c:\exchange\GAL.csv -NoTypeInformation

สามารถส่งออกรายการกล่องจดหมายใน GAL ได้ดังนี้:

Get-mailbox -results unlimited | Where-Object {$_.AddressListMembership -like “*Default Global Address List*”} | Select-Object DisplayName,UserPrincipalName,AddressListMembership,HiddenFromAddress

เพื่อส่งออกข้อมูลจาก Active Directory สามารถใช้เครื่องมือคอนโซล csvde.exe

คำสั่งแสดงข้อมูลผู้ใช้พร้อมที่อยู่อีเมล อาจเป็นดังนี้:

CSVDE -r "(&(objectClass=person)(mail=*))" -l displayName,proxyAddresses –f Exchange-GAL.csv

ผลลัพธ์จะได้รายชื่อที่อยู่อีเมลแบบนี้:

“CN=LondTest,OU=Service,DC=corp,DC=woshub,DC=com",LondTest,smtp: LondTest@woshub.com

สามารถใช้คำสั่ง PowerShell Get-ADUser และ Get-ADGroup จากโมดูล AD PowerShell เพื่อดึงรายชื่อผู้ใช้และกลุ่มพร้อมที่อยู่ SMTP มาส่งออกรายชื่อผู้ใช้พร้อมที่อยู่ SMTP (แอตทริบิวต์ proxyaddresses ของ AD) จาก OU เฉพาะ:

Get-ADUser -Filter * -SearchBase 'OU=London,OU=UK,DC=woshub,DC=com' -Properties proxyaddresses | Select-Object Name, Proxyaddresses| Export-CSV C:\PS\AD_OU_Export_GAL.csv

ส่งออก Global Address List จาก Exchange Online (Microsoft 365)

ไม่มีเครื่องมือ built-in สำหรับส่งออกเนื้อหา GAL ทั้งหมดในเว็บอินเตอร์เฟซ Exchange Online (https://admin.exchange.microsoft.com/) อย่างไรก็ตาม สามารถส่งออกรายการกล่องจดหมายผู้ใช้ กลุ่มการแจกจ่าย หรือกล่องจดหมายทรัพยากรเป็น CSV ทีละรายการ ได้ ไปที่ Recipient → Mailboxes และเลือก Export

ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV

เช่นเดียวกัน สามารถส่งออกรายการติดต่อ กลุ่มการแจกจ่าย กลุ่มที่เปิดใช้งานอีเมล

สะดวกและง่ายกว่ามาก คือ ส่งออก Global Address List จาก Tenant Exchange Online (Microsoft 365) ด้วย PowerShell เชื่อมต่อกับ Tenant Exchange Online ด้วยโมดูล EXO v2:

Connect-ExchangeOnline

แสดงรายการ Global Address Lists ที่มีอยู่:

Get-GlobalAddressList | Select-Object Name

ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV

ในตัวอย่าง มีเพียง 'Default Global Address List' ซึ่งรวมออบเจ็กต์ที่เปิดใช้งานอีเมลทั้งหมดในองค์กร (ผู้ใช้, กลุ่ม, กลุ่มการแจกจ่าย)

ดึงฟิลเตอร์ของ Global Address List:

$Filter = (Get-GlobalAddressList 'Default Global Address List').RecipientFilter

ฟิลเตอร์ต่อไปนี้ใช้เพื่อเพิ่มออบเจ็กต์เข้า GAL:

((Alias -ne $null) -and (((ObjectClass -eq 'user') -or (ObjectClass -eq 'contact') -or (ObjectClass -eq 'msExchSystemMailbox') -or (ObjectClass -eq 'msExchDynamicDistributionList') -or (ObjectClass -eq 'group') -or (ObjectClass -eq 'publicFolder'))))

ตอนนี้สามารถดึงรายการที่อยู่ SMTP ทั้งหมดจาก Tenant Exchange Online และส่งออกเป็น CSV:

Get-Recipient -RecipientPreviewFilter $Filter | Select-Object Name, PrimarySmtpAddress,RecipientType | Export-CSV C:\PS\Export_Office365_GAL.csv -NoTypeInformation

ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV

ทุกประเภทของ Recipient ใน Exchange Online ถูกส่งออกไปยังไฟล์ CSV: UserMailbox, MailUser, MailUniversalDistributionGroup, MailContact, DynamicDistributionGroup

ส่งออก Global Address List จาก Outlook หรือ Access

หากไม่มีสิทธิ์ผู้ดูแลใน Exchange สามารถส่งออก Global Address List ขององค์กรจากคอมพิวเตอร์ผู้ใช้ด้วยโปรแกรมจาก MS Office/Office 365

ไม่สามารถส่งออกเนื้อหา Global Address List โดยตรงจาก Outlook ได้ วิธีแก้คือ เพิ่มผู้รับทั้งหมดจากสมุดที่อยู่องค์กรเข้าไปในรายชื่อติดต่อส่วนตัว (Address Book → Global Address List → CTRL+A → Add to contacts) จากนั้นส่งออกติดต่อ Outlook เป็น CSV ผ่านฟีเจอร์ Import-Export (File → Open & Export → Import/Export) ต้องคัดลอกติดต่อต้นฉบับไปโฟลเดอร์ติดต่อชั่วคราวของ Outlook วิธีนี้ไม่สะดวกนัก

ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV

และสุดท้าย วิธีที่ไม่ชัดเจนแต่ง่ายและเข้าใจง่าย สำหรับการส่งออก GAL สำหรับผู้ใช้ที่ไม่ใช่แอดมิน คือ ใช้การเชื่อมต่อ Exchange ใน Microsoft Access

  1. รัน Microsoft Access เลือก File→Open ในเมนู
  2. เลือก Exchange() ในประเภทไฟล์ ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV
  3. ในรายการแหล่งข้อมูล เลือก Global Address List ส่งออก Global Address List (GAL) ของ Exchange หรือ Office 365 เป็น CSV
  4. จะได้ตาราง Access แบบแบน (flat) พร้อมข้อมูลจากสมุดที่อยู่ Exchange
  5. ตอนนี้สามารถส่งออกข้อมูลจากฐานข้อมูลเป็นไฟล์ CSV ได้

เหลือแค่นำไฟล์ CSV ที่ได้ ไป Import ใน Excel และปรับแต่งตามต้องการ