ค้นหาที่อยู่อีเมลโดยใช้ PowerShell | โดยที่ตัวกรอง | ออฟฟิศ 365 | ตอนที่ 9#13
บทความปัจจุบัน เราตรวจสอบไวยากรณ์คำสั่ง PowerShell ที่เราใช้สำหรับ "การสร้าง" แบบสอบถาม สำหรับการค้นหาที่อยู่อีเมลเฉพาะโดยใช้ตัวกรอง PowerShell Where
สิ่งที่เราต้องรู้ก่อนที่จะเริ่มค้นหาที่อยู่อีเมล
ในส่วนนี้ ฉันอยากจะทบทวนประเด็นหลักที่เกี่ยวข้องกับการค้นหาที่อยู่อีเมลในสภาพแวดล้อม Office 365 โดยย่อ
1. จะต้องค้นหาที่ใด
ดังที่กล่าวไว้แล้ว ในสภาพแวดล้อม Office 365 นั้นเป็น "ตาข่าย" ของสภาพแวดล้อมที่แตกต่างกันซึ่งสร้างคำตรรกะ "Office 365"
ข้อมูลที่เราค้นหาสามารถเชื่อมโยงกับผู้ใช้ Office 365 ที่อยู่ใน Azure Active Directory หรือเชื่อมโยงกับผู้รับ Exchange Online ที่โฮสต์อยู่ที่โครงสร้างพื้นฐาน Exchange Online
ดังนั้นคำถามแรกที่เราต้องตอบคือ “ที่ไหน” ที่เราอยากทำการค้นหา?
<แข็งแกร่ง>2. แลกเปลี่ยนออนไลน์ | “ประเภทผู้รับ ” ที่เราต้องการสอบถามคืออะไร
Exchange Online มีประเภทของผู้รับที่แตกต่างกันจำนวนมาก
ในโลกยูโทเปีย เราสามารถใช้ PowerShell cmdlet “มหัศจรรย์” ซึ่งจะช่วยให้เราสแกนและดึงข้อมูลเกี่ยวกับผู้รับ Exchange Online ที่มีอยู่ทั้งหมด ความจริงนั้นซับซ้อนกว่าเล็กน้อยเพราะน่าเสียดายที่ไม่มีคำสั่งดังกล่าว
เพื่อให้สามารถจัดการกับผู้รับ Exchange Online ที่มีอยู่ทั้งหมดได้ เราจะต้องใช้ “Mixture ” ของ PowerShell cmdlets ที่จะจัดการกับผู้รับ Exchange Online ประเภทต่างๆ
<แข็งแกร่ง>3. คำว่า “ที่อยู่อีเมล ”
ในสภาพแวดล้อม Office 365 คำว่า “ที่อยู่อีเมล” สามารถแปลเป็น “ที่อยู่” ได้หลากหลาย ซึ่งใช้โครงสร้างการตั้งชื่อเหมือนกันกับ “ที่อยู่อีเมล SMTP”
ตัวอย่างเช่น,
- ชื่อเข้าสู่ระบบของผู้ใช้ Office 365 (UPN) จะขึ้นอยู่กับโครงสร้างการตั้งชื่อของที่อยู่อีเมล SMTP
- ที่อยู่ SIP (Skype สำหรับผู้ใช้ทางธุรกิจ) ใช้โครงสร้างการตั้งชื่อเดียวกันกับที่อยู่อีเมล SMTP
<แข็งแกร่ง>4. ไวยากรณ์ PowerShell ใดที่จะใช้ในการค้นหา
ในบทความปัจจุบัน เราจะใช้คำสั่ง PowerShell Where เป็นเครื่องมือในการดำเนินการค้นหา ซึ่งจะสแกนออบเจ็กต์ Office 365 ที่มีอยู่ (บัญชีผู้ใช้ Office 365 และผู้รับ Exchange Online) และ "ดึงข้อมูล" สำหรับ เราเป็นวัตถุที่ตอบเกณฑ์เฉพาะ
ที่อยู่อีเมลเป็น "สตริงข้อความ"
PowerShell เสนอวิธีการมากมายในการดำเนินงาน โดยมองหา “สตริงข้อความ” เฉพาะ ในสถานการณ์ของเรา “สตริงข้อความ ” ที่เราค้นหาคือ “ที่อยู่อีเมล”
เมื่อเราบอกว่าเรากำลังมองหาที่อยู่อีเมล คำว่า “ที่อยู่อีเมล ” ก็สามารถรับรู้ได้ เช่น:
- “ด้านซ้าย” ของที่อยู่อีเมล นี่คือส่วนที่มีชื่อนามแฝงของผู้รับ เราเกี่ยวข้องกับ "ส่วนด้านซ้าย" ของที่อยู่อีเมลเมื่อเราค้นหาข้อมูลเกี่ยวกับชื่อนามแฝงที่เฉพาะเจาะจง
- “ส่วนที่ถูกต้อง” ของที่อยู่อีเมล นี่คือส่วนที่รวมส่วนต่อท้ายชื่อโดเมน เราเกี่ยวข้องกับ “ส่วนที่ถูกต้อง” ของที่อยู่อีเมลเมื่อเราค้นหาข้อมูล
เกี่ยวกับที่อยู่อีเมลที่มีชื่อโดเมนเฉพาะ - “ส่วนขวา” + “ส่วนด้านซ้าย” เราเกี่ยวข้องกับบูธในส่วนที่อยู่อีเมล ในสถานการณ์ที่เราค้นหาที่อยู่อีเมลเฉพาะ
การใช้ PowerShell เพื่อค้นหาที่อยู่อีเมลเฉพาะโดยใช้คำสั่ง Where
ในแผนภาพต่อไปนี้ เราจะเห็นโครงสร้างพื้นฐานของคำสั่ง PowerShell ซึ่งเราค้นหาที่อยู่อีเมลที่มีส่วนต่อท้ายชื่อโดเมนเฉพาะ
“แบบสอบถาม PowerShell ” ถูกสร้างขึ้นโดยใช้ตัวกรอง ที่ไหน
“ส่วนต่างๆ ” ที่แตกต่างกันของไวยากรณ์คำสั่ง PowerShell
ส่วนที่ 1#4 - วัตถุผู้รับ Exchange Online
ส่วนแรกเป็นส่วนที่เราเลือกผู้รับ Exchange Online เฉพาะ ในตัวอย่างของเรา ผู้รับ Exchange “ประเภท” คือกล่องจดหมาย Exchange
ส่วนที่ 2#4 - ตัวกรอง Where
ในส่วนนี้ เราใช้คำสั่ง PowerShell ที่ไหน + คำจำกัดความของ "ตัวกรองข้อความค้นหา" หรืออีกนัยหนึ่งคือ "เงื่อนไขการค้นหา"
คำสั่ง PowerShell Where รวมถึงส่วนต่างๆ ต่อไปนี้:
ในการดำเนินการค้นหาที่จำเป็น ซึ่งกำหนดเงื่อนไขที่เราค้นหาเฉพาะที่อยู่อีเมลที่มีอักขระเฉพาะ เช่น - ส่วนต่อท้ายชื่อโดเมนเฉพาะ เราใช้คำสั่ง PowerShell ที่ไหน
แบบสอบถาม PowerShell “อยู่” ระหว่างวงเล็บปีกกา
ในสถานการณ์ของเรา เราจะสอบถามโครงสร้างพื้นฐาน Azure Active Directory + โครงสร้างพื้นฐาน Exchange Online
- เมื่อเราค้นหาโครงสร้างพื้นฐานของ Exchange Online เราจะ "ระบุ" คุณสมบัติผู้รับ Exchange Online ที่ชื่อว่า ที่อยู่อีเมล
- เมื่อเราสืบค้นโครงสร้างพื้นฐาน Azure Active Directory เราจะ “ระบุ” คุณสมบัติผู้ใช้ Office 365 ชื่อ UserPrincipalName และคุณสมบัติ ProxyAddresses
ตัวดำเนินการ PowerShell ที่เราใช้
ในสถานการณ์ที่เราค้นหาที่อยู่อีเมลเฉพาะ เราสามารถเลือกตัวเลือกของตัวดำเนินการ PowerShell ที่เราใช้ได้สองสามตัวเลือก
ตัวอย่างเช่น เราสามารถใช้ตัวดำเนินการ PowerShell eq (เท่ากับ) หรือตัวดำเนินการ PowerShell like
ตัวดำเนินการ PowerShell “Like ” ตามความหมายของชื่อ เราจะค้นหาที่อยู่อีเมลที่ “เหมือน” ที่อยู่อีเมลที่เราให้ไว้
ในสถานการณ์เฉพาะของเรา ผู้รับ Exchange Online สามารถ "ใช้" ที่อยู่อีเมลเฉพาะ
เป็น "ที่อยู่อีเมล SMTP" หรือ "ที่อยู่ SIP"
ตัวอย่างเช่น เมื่อใช้ตัวดำเนินการ PowerShell “like” ค้นหาที่อยู่อีเมลต่อไปนี้ Bob@o365info.com คำสั่ง PowerShell จะแสดงผลลัพธ์หากเธอพบที่อยู่อีเมล SMTP ที่มี “สตริงการค้นหา” หรือที่อยู่ SIP ที่ รวมถึง "สตริงการค้นหา"
ในกรณีที่เราใช้ตัวดำเนินการเปรียบเทียบ “ชอบ” เราต้องใช้เครื่องหมายดอกจัน (*)
- เพื่อให้สามารถกำหนดเงื่อนไขได้ โดยเราต้องการค้นหาสตริงข้อความที่ “เริ่มต้น ” ด้วยอักขระที่กำหนด แต่เราไม่รู้ว่าจะ “สิ้นสุดอย่างไร” เราจะเพิ่มเครื่องหมายดอกจัน (*) ที่ส่วนท้ายของสตริงข้อความที่เรา "ระบุ" ให้กับคำสั่ง PowerShell
- เพื่อให้สามารถกำหนดเงื่อนไขได้ โดยเราต้องการค้นหาสตริงข้อความที่ “สิ้นสุด ” ด้วยอักขระที่กำหนด แต่เราไม่รู้ว่า “เริ่มต้น” อย่างไร เราจะเพิ่มเครื่องหมายดอกจัน (*) เมื่อขอสตริงข้อความที่เรา "ระบุ" ให้กับคำสั่ง PowerShell
ดังที่เราเห็นในภาพ ตัวดำเนินการ PowerShell “Like ” และเครื่องหมายดอกจัน (*) เป็นเพื่อนที่ดีต่อกัน
อีกตัวอย่างหนึ่งของตัวดำเนินการ PowerShell ที่เราสามารถใช้ได้คือตัวดำเนินการ - eq (เท่ากับ)
เมื่อเราต้องการ "บอก" PowerShell ว่าเราต้องการทำการค้นหาที่มองหา "การจับคู่ที่สมบูรณ์แบบ" เราจะใช้ตัวดำเนินการ eq (เท่ากับ)
ตัวอย่างเช่น ในกรณีที่เราต้องการค้นหาอีเมลต่อไปนี้ - Bob@o365info.com แต่แสดงข้อมูลเฉพาะในกรณีที่ที่อยู่เป็นที่อยู่ SMTP เราจะใช้ไวยากรณ์ PowerShell ต่อไปนี้:
หากคุณรู้สึกว่ามีข้อมูลมากเกินไปและการค้นหาต่างๆ ที่เราจำเป็นต้องดำเนินการ ฉันได้สร้างสคริปต์ตามเมนู PowerShell ชื่อ
จัดการอีเมล address.ps1 ซึ่งจะทำให้งานค้นหาอีเมลง่ายขึ้น ที่อยู่พร้อมส่วนต่อท้ายชื่อโดเมนเฉพาะ
ส่วนที่ 3#4 - คุณสมบัติของวัตถุที่แสดง “เขตข้อมูล”
แต่ละวัตถุผู้รับเช่นกล่องจดหมาย Exchange Online มีคุณสมบัติมากมาย
หลังจากที่ตัวกรอง ตำแหน่ง ได้รับข้อมูลที่จำเป็น (ในกรณีของเรา ผู้รับ Exchange ที่ตอบเงื่อนไขเฉพาะ) “เอาต์พุต PowerShell ” จะแสดงผู้รับหรือรายชื่อผู้รับ
ผู้รับแต่ละคนจะถูกแสดง + โดยใช้ "คุณสมบัติของวัตถุที่กำหนดไว้ล่วงหน้า"
โดยส่วนใหญ่ เราต้องการเปลี่ยน "ค่าเริ่มต้น" และ "แจ้ง" PowerShell ว่าคุณสมบัติ (แอตทริบิวต์) ของผู้รับเฉพาะที่เกี่ยวข้องกับเราคืออะไร
ตัวอย่างเช่น ในสถานการณ์ที่เรามองหาผู้รับที่มีที่อยู่อีเมลเฉพาะ คุณสมบัติหลักที่เกี่ยวข้องกับเราคือ:
- ชื่อผู้รับ เช่น - ชื่อที่แสดง
- ประเภทของผู้รับ (ประเภทผู้รับ) เช่น ผู้ใช้กล่องจดหมายหรือผู้ติดต่อ
- ที่อยู่อีเมลที่เชื่อมโยงกับผู้รับเฉพาะ
ในการ “แจ้ง ” คำสั่ง PowerShell คุณสมบัติเฉพาะที่เราต้องการแสดง (หรือส่งออก) คืออะไร เราใช้พารามิเตอร์ PowerShell เช่น Select, FL (Format-List ) หรือ FT (รูปแบบ-ตาราง)
“คุณสมบัติ” แต่ละรายการที่เราต้องการแสดงจะถูกคั่นด้วยอักขระลูกน้ำ
ส่วนที่ 4#4 - ส่งออกผลลัพธ์
ตามค่าเริ่มต้น ผลลัพธ์จากแบบสอบถาม PowerShell จะแสดงบนคอนโซล PowerShell
ในส่วนของงานการรับข้อมูลเกี่ยวกับที่อยู่อีเมลของผู้รับ Exchange Online (หรือชื่อ Office 365 UPN) ในหลาย ๆ สถานการณ์ เราจะต้องส่งออกข้อมูลไปยังไฟล์”
การจัดเก็บข้อมูลในไฟล์ช่วยให้เรา “จัดการ” ข้อมูลได้โดยใช้ตัวกรอง มุมมองเฉพาะ และเพิ่มเติม แก้ไขและจัดการข้อมูล
ในการส่งออกข้อมูลเกี่ยวกับที่อยู่อีเมลที่ถูกสร้างขึ้นจากตัวกรอง PowerShell ที่ไหน เราจะต้องระบุประเภทไฟล์เฉพาะที่เราต้องการ เช่น - CSV, TXT หรือ HTML
บทความถัดไปในชุดบทความปัจจุบัน
การค้นหาที่อยู่อีเมลด้วยส่วนต่อท้ายชื่อโดเมนเฉพาะโดยใช้ PowerShell | ออฟฟิศ 365 | ตอนที่ 10#13










