(For Admins/Users) การเพิ่ม External Contacts ทีละหลายคนใน Outlook และ Exchange Online
Content difficulty — Technical (เฉพาะ ฝั่ง Admin)
จากตอนที่แล้ว การสร้าง Contact จะทำได้ที่ฝั่ง users ที่ใช้ Outlook เอง เหมือนเก็บเบอร์เพื่อนไว้ในมือถือซึ่งดูได้คนเดียว มีทั้งมารูปแบบ Contact (.msg), Business Card (.vcf) หรือ Group Contact และ ทำได้จากฝั่ง Admin เอง ซึ่งทำเป็น Mail Contact หรือ Mail user เพื่อให้ทุกคนสามารถหาได้ใน Global Address Lists (GAL)
ตอนที่ผ่านมาจะเป็นการสร้าง Contact ทีละคนๆเข้ามาในระบบ ซึ่ง อาจจะไม่สะดวกซักเท่าไหร่นัก ซึ่งตอนนี้เราจะมาดูวิธีการสร้าง contacts ที่เป็น external ทีละหลายๆคน (bulk) ในครั้งเดียว
ตอนที่แล้วสามารถย้อนดูได้ที่นี่ https://link.medium.com/zDkzNcsVl0
ระดับ Users
วิธีการคือการสร้างไฟล์ Comma-separated value (.csv) จากโปรแกรม เช่น Microsoft Excel แล้ว import เข้าไปที่ Outlook ซึ่งเราต้องกำหนดค่าต่างๆ เช่น ชื่อ, นามสกุล, email, ตำแหน่ง และอื่นๆ แต่เพื่อความง่ายให้เราไป download sample ที่ https://www.microsoft.com/en-us/download/details.aspx?id=45485 จากนั้นให้เรามา edit ใหม่เอง ซึ่งในไฟล์เขาก็สร้าง column ที่ใช้ไว้ให้แล้ว
จากนั้นมา Import จาก Outlook ไปที่ File -> Open & Export -> Import/Export และ ไปที่ Import from another program or file จากนั้นเลือก comma-separated value แล้วก็ browse ไปยัง .csv ของเรา
จากนั้นเลือก comma-separated value แล้วก็ browse ไปยังไฟล์ของเราและให้เลือกตัวเลือกดังนี้
- ตัวเลือกแรก: ถ้ามี Contact ไหนซ้ำระหว่าง ใน .csv กับที่มีใน Outlook ให้เอาในไฟล์ทับอันซ้ำใน Outlook (ถ้าเราจงใจทำซ้ำในไฟล์ให้สมบูรณ์กว่าก็เลือกอันนี้)
- ตัวเลือกกลาง: ให้อนุญาตให้ซ้ำกันได้ระหว่าง contact จาก .csv กับที่มีใน Outlook ซึ่งสุดท้ายถ้าซ้ำก็จะมีสองอัน (อีกอันห้อยท้ายว่า Imported)
- ตัวเลือกล่าง: Contact ไหนในไฟล์ ซ้ำกับที่มีใน Outlook จะไม่ถูกใส่เข้ามา
สุดท้ายเลือกไปที่ Contact Folder เป็นอันเสร็จ
ก่อนคลิกที่ Finish จะมี ปุ่ม Map Custom Fields เผื่อเรามี column ชื่อที่ไม่ตรงกับที่ Outlook จะรับให้เรามาจับคู่ Drag&Drop
ถ้าเรามี Contact บน free email อย่าง Gmail หรือ Outlook (Hotmail) ก็ export ได้เช่นกันในการ Download มาเป็น .csv เพื่อเอา import ไป Outlook Account ที่เป็น Office 365 อย่างใน Gmail ยังเลือกคนที่เรา Save contact เอง หรือ ครที่เราคุย mail ตอบกันบ่อยๆ (Frequently Contacted)
ยังไงขอให้ตรวจสอบตัว column กับ value ใน .csv ได้มาด้วย
ระดับ Admins
Mail contact (Bulk)
ใช้ .csv เหมือนเดิม แต่ให้ Download จากที่นี่ เพื่อเอามา edit https://drive.google.com/file/d/15sUYMDHgVuXfRhFE3yyTkWwFnGx2-kmt/view?usp=sharing
จากนั้นต้องใช้ PowerShell ในการทำเริ่มด้วย เข้า PowerShell ของ Exchange Online โดยการ Run ทั้งหมดแล้ว Sign in ด้วย Admin Account
Set-ExecutionPolicy RemoteSigned
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking
จากนั้นไป Directory Path ที่เรา save ตัว .csv ไว้ เช่น ไว้ที่ C drive เลยก็ไปที่ C: โดย พิมพ์ cd / แล้วตามด้วย command ด้านล่าง
Import-Csv .\Echoo365contacts.csv|%{New-MailContact -Name $_.Name -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName}
ตอนนี้ Contact เช่น Display name กับ smtp mail address ได้ upload ไปแล้วแต่ข้อมูลของ Contact Information เช่น City, Office หรือ Phone ยังไม่ได้ถูก upload ขึ้นไป ให้ run command ทั้งหมดนี้
$Contacts = Import-CSV .\Echoo365contacts.csv
$contacts | ForEach {Set-Contact $_.Name -StreetAddress $_.StreetAddress -City $_.City -StateorProvince $_.StateorProvince -PostalCode $_.PostalCode -Phone $_.Phone -MobilePhone $_.MobilePhone -Pager $_.Pager -HomePhone $_.HomePhone -Company $_.Company -Title $_.Title -OtherTelephone $_.OtherTelephone -Department $_.Department -Fax $_.Fax -Initials $_.Initials -Notes $_.Notes -Office $_.Office -Manager $_.Manager}
อย่าลืมตรวจสอบชื่อไฟล์ของ .csv กับ ชื่อไฟล์ .csv ของ command ด้วยว่าตรงกันหรือไม่
ใน .csv ต้องระบุตัว Column ของ Manager ถ้าไม่มีแล้วว่างไว้แล้ว ให้ลบช่วงสุดท้ายที่เป็น -Manager $_.Manager ออกจาก command ข้างบน
ติดตามผลบน Exchange Admin Center
การ Add ครั้งต่อไปอาจจะมี Error ว่า already exists แต่ให้ลองไปดูว่า contact นั้นขึ้นมาหรือไม่
ถ้าจะซ่อน contact ทั้งหมดเพื่อจุดประสงค์ที่ไม่ได้อยากให้ user หาเจอ แต่แค่จะเอา contact ไปใส่ตาม Distribution list ให้ใส่ command ด้านล่าง
Get-Contact -ResultSize unlimited -Filter {(RecipientTypeDetails -eq ‘MailContact’)} | Set-MailContact -HiddenFromAddressListsEnabled $true
ถ้าแค่คนๆเดียวให้ใช้ command นี้ เช่นจะซ่อน Billy Joel (ตาม Display name)
Set-MailContact “Billy Joel” -HiddenFromAddressListsEnabled $true
Mail user (Bulk)
ให้ Download ไฟล์นี้แทน https://drive.google.com/file/d/1XfOL_VOLzUSmheAalpHQp0viYI5-am0M/view?usp=sharing
เนื่องจาก Mail user ใช้ domain เราในการ sign in ตัว .csv จะต่างจาก Mail Contact ตรงที่มี column
- MicrosoftOnlineServicesID: ให้ใส่เหมือน ExternalEmailAddress
- Password: ให้ตั้ง Password สำหรับ Sign in เข้า Office 365 Portal
ให้ใช้ Command เพื่อเข้า Exchange Online PowerShell แล้ว Sign in วิธีเดียวกับแบบ Mail Contact จากไปที่ directory ที่เก็บ .csv จากนั้นพิมพ์ command
Import-Csv .\Echoo365contacts-mailuser.csv|%{New-Mailuser -Name $_.Name -MicrosoftOnlineServicesID $_.MicrosoftOnlineServicesID -password (ConvertTo-SecureString -String ‘$_.Password’ -AsPlainText -Force) -DisplayName $_.Name -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName}
ข้อมูลของ Contact Information ยังไม่ได้ถูก upload ขึ้นไป เช่นเดียวกับของ Mail contact ให้ run command ทั้งหมดนี้
$Contacts = Import-CSV .\Echoo365contacts-mailuser.csv
$contacts | ForEach {Set-User $_.Name -StreetAddress $_.StreetAddress -City $_.City -StateorProvince $_.StateorProvince -PostalCode $_.PostalCode -Phone $_.Phone -MobilePhone $_.MobilePhone -Pager $_.Pager -HomePhone $_.HomePhone -Company $_.Company -Title $_.Title -OtherTelephone $_.OtherTelephone -Department $_.Department -Fax $_.Fax -Initials $_.Initials -Notes $_.Notes -Office $_.Office -Manager $_.Manager}
ใน .csv ต้องระบุตัว Column ของ Manager ถ้าไม่มีแล้วว่างไว้แล้ว ให้ลบช่วงสุดท้ายที่เป็น -Manager $_.Manager ออกจาก command ข้างบน
เข้าไป Check ก็จะเห็น Mail user เรียบร้อย