ค้นหา + บันทึกสำเนาของรายการเมลโดยใช้ PowerShell | ตอนที่ 2#5
ในบทความปัจจุบัน เราจะตรวจสอบวิธีใช้ Search-Mailbox PowerShell cmdlet สำหรับการค้นหาในกล่องจดหมาย Exchange ที่ต้องการ + คัดลอกผลการค้นหาไปยัง "กล่องจดหมายปลายทาง" (กล่องจดหมายเป้าหมาย)
เชื่อมต่อกับ Exchange Online PowerShell
เพื่อให้สามารถเรียกใช้คำสั่ง PowerShell ที่ระบุในบทความปัจจุบัน คุณจะต้องเชื่อมต่อกับ Exchange Online PowerShell
เริ่ม Windows PowerShell ในฐานะผู้ดูแลระบบ และเรียกใช้ cmdlet Connect-ExchangeOnline
Connect-ExchangeOnlineคำอธิบายสถานการณ์
เป้าหมาย
เป้าหมายที่เราพยายามบรรลุคือ:
- ทำการค้นหาในกล่องจดหมาย Exchange เฉพาะ (Bob กล่องจดหมาย) การค้นหาจะดำเนินการโดยการกำหนด คำค้นหา เฉพาะเจาะจง (เกณฑ์การค้นหา) ซึ่งจะช่วยให้เราค้นหารายการเมลเฉพาะที่ตอบ คำค้นหา
- ผลการค้นหา (รายการเมล) จะถูกคัดลอกไปยัง กล่องจดหมายเป้าหมาย และบันทึกไว้ในโฟลเดอร์เฉพาะ (โฟลเดอร์เป้าหมาย)
- นอกจากนี้ เราต้องการสร้างรายงานโดยละเอียด (บันทึก) เกี่ยวกับแต่ละรายการอีเมลที่ปรากฏใน ผลการค้นหา (ไฟล์บันทึก/รายงานจะถูกบันทึกไว้ใน โฟลเดอร์เป้าหมาย )
กล่องจดหมายต้นทาง + กล่องจดหมายเป้าหมาย (และโฟลเดอร์เป้าหมาย)
- กล่องจดหมายต้นทาง (กล่องจดหมายที่เราดำเนินการค้นหา) คือกล่องจดหมาย ของ Bob
- กล่องจดหมายเป้าหมายที่เราใช้สำหรับจัดเก็บผลการค้นหา (รายการอีเมล) เป็นของ Adele
- ชื่อ โฟลเดอร์เป้าหมาย จะเป็น - ผลการค้นหา - Bob
ขอบเขตการค้นหากล่องจดหมาย
ตามค่าเริ่มต้น Search-Mailbox cmdlet จะทำการค้นหาใน “กล่องจดหมายต้นทาง ” ที่มี “ช่องว่างกล่องจดหมาย” ต่อไปนี้:
กล่องจดหมายหลัก
- ค้นหากล่องจดหมาย cmdlet จะทำการค้นหาที่เกี่ยวข้องกับโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดในกล่องจดหมายหลัก
- โฟลเดอร์เมลการกู้คืน - โดยค่าเริ่มต้น cmdlet Search-Mailbox จะค้นหารายการเมลที่จัดเก็บไว้ในโฟลเดอร์เมลการกู้คืน (Dumpster) ด้วย
เก็บกล่องจดหมาย
ในกรณีที่กล่องจดหมายต้นทางมีกล่องจดหมายเก็บถาวร
- ค้นหากล่องจดหมาย cmdlet จะทำการค้นหาที่เกี่ยวข้องกับโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดในกล่องจดหมายเก็บถาวร
- โฟลเดอร์เมลการกู้คืน - ตามค่าเริ่มต้น Search-Mailbox cmdlet จะค้นหารายการเมลที่เก็บไว้ในโฟลเดอร์เมลการกู้คืนที่เก็บถาวรของกล่องจดหมาย (Dumpster)
ในภาพหน้าจอต่อไปนี้ เราจะดูตัวอย่างสถานการณ์ที่ กล่องจดหมายต้นทาง เป็นของ Bob และกล่องจดหมายเป้าหมายคือ - Adele's ตู้ไปรษณีย์
Search-Mailbox cmdlet จะสร้างโฟลเดอร์ใหม่ (โฟลเดอร์เป้าหมาย) และจัดเก็บ ผลการค้นหา ทั้งหมด (คัดลอกรายการเมล) ไว้ในโฟลเดอร์นี้ (โฟลเดอร์เป้าหมาย)
ลำดับชั้นโฟลเดอร์ผลการค้นหาประกอบด้วย "ช่องว่าง" สองช่องที่แยกจากกัน:
- เก็บกล่องจดหมาย (A ในภาพหน้าจอ)
- กล่องจดหมายหลัก (B ในภาพหน้าจอ)
“พื้นที่กล่องจดหมาย” แต่ละรายการ (ไฟล์เก็บถาวรและไฟล์หลัก) มีโฟลเดอร์เฉพาะชื่อ - รายการที่กู้คืนได้ ซึ่งจัดเก็บผลลัพธ์การค้นหาที่ “ดึงข้อมูล” จากโฟลเดอร์เมลการกู้คืน -the ถังขยะ (หมายเลข 2 ในไดอะแกรม) ที่มีรายการเมลที่ถูกลบแบบ Soft + ที่ถูกลบแบบถาวร
การใช้ Search-Mailbox เพื่อทำการค้นหา | ไวยากรณ์คำสั่ง PowerShell
ตามที่กล่าวไว้ Search-Mailbox cmdlet เป็น PowerShell cmdlet ที่มีประสิทธิภาพมาก ซึ่งสามารถใช้ตัวกรอง คำค้นหา ได้หลายประเภท ซึ่งจะช่วยให้เรา "ดึงข้อมูล" (ค้นหาและคัดลอก ) รายการเมลที่เฉพาะเจาะจงมาก
ในส่วนต่อไปนี้ เราจะตรวจสอบตัวอย่างบางส่วนของ คำค้นหา ต่างๆ ที่เราสามารถใช้ได้
ค้นหาและคัดลอกรายการเมล | รายการจดหมายทั้งหมด
ในตัวอย่างนี้ เราใช้ Search-Mailbox cmdlet โดยไม่มี "ตัวกรอง" หรือตัวกรองคำค้นหา
ในสถานการณ์สมมตินี้ เป้าหมายของเราคือการคัดลอกรายการจดหมายทั้งหมดที่มีอยู่ในกล่องจดหมายต้นทางไปยังกล่องจดหมายเป้าหมาย ผลลัพธ์การค้นหาจะรวมรายการเมลทั้งหมดจากกล่องจดหมายหลัก กล่องจดหมายเก็บถาวร (ถ้ามี) และโฟลเดอร์เมลการกู้คืน (Dumpster)
ค้นหา + บันทึกสำเนา รายการเมลทั้งหมด | คำค้นหา - ไม่มีตัวกรอง (ไม่มีคำค้นหา)
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -TargetMailbox <Destination mailbox>-TargetFolder <Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox Bob -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหาและคัดลอกรายการเมล | ค้นหาตัวกรองคำค้นหา - ประเภทรายการจดหมายเฉพาะ
ในสถานการณ์สมมตินี้ เราต้องการค้นหา (ค้นหา) และคัดลอกรายการจดหมายเฉพาะบางประเภทจากกล่องจดหมายต้นทาง
ค้นหา + บันทึกสำเนาของรายการเมล | ตัวกรองคำค้นหา - รายการปฏิทิน
ค้นหาประเภทรายการเมลที่ต้องการ - รายการ ปฏิทิน
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery "Kind:meetings" -TargetMailbox <Destination mailbox> -TargetFolder <Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery "Kind:meetings" -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหา + บันทึกสำเนาของรายการเมล | คำค้นหา - รายการผู้ติดต่อ
ค้นหาประเภทรายการเมลที่ต้องการ - รายการ รายชื่อผู้ติดต่อ
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery "Kind:contacts" -TargetMailbox <Destination mailbox> -TargetFolder <Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery "Kind:contacts" -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullหมายเหตุ: ตามค่าเริ่มต้น หากไม่ได้ระบุไว้ Search-Mailbox cmdlet จะค้นหาข้อความทุกประเภท
เมื่อใช้ตัวเลือกตัวกรองการค้นหา “ชนิด ” ค่าที่ถูกต้องอาจเป็นค่าใดค่าหนึ่งต่อไปนี้:
- อีเมล
- การประชุม
- งาน
- หมายเหตุ
- เอกสาร
- วารสาร
- รายชื่อผู้ติดต่อ
- ฉัน
ค้นหาและคัดลอกรายการเมล | ตัวกรองคำค้นหา - สตริงข้อความ
ในส่วนนี้ เราใช้ คำค้นหา ที่จะค้นหารายการเมลที่มีสตริงข้อความเฉพาะ
หมายเหตุทั่วไป - เนื่องจากเราใช้เครื่องหมายคำพูด การค้นหาจะดึงเฉพาะผลลัพธ์ที่คำทั้งหมดในสตริงข้อความที่เรากำหนดปรากฏขึ้น
ตัวอย่างเช่น ในตัวอย่างของเรา เรามองหาสตริงข้อความ: “การประชุมในนิวยอร์ก” รายการเมลที่มีคำว่า “นิวยอร์ก ” หรือ “การประชุม ” จะไม่ปรากฏในผลการค้นหา
เฉพาะรายการเมลที่มี วลีข้อความ ทั้งหมดที่ปรากฏภายในเครื่องหมายคำพูดเท่านั้นที่จะถือเป็น "รายการเมลที่ถูกต้อง" ที่ตอบ คำค้นหา (วลีหรือคำหลักที่แน่นอนใน เรื่องของรายการ)
ค้นหา + บันทึกสำเนาของรายการเมล | คำค้นหา - รายการเมลที่มีสตริงข้อความในเมล SUBJECT
ค้นหารายการเมลด้วยสตริงข้อความเฉพาะที่ปรากฏในข้อความอีเมล บรรทัดหัวเรื่อง
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery Subject:"<Text String>" -TargetMailbox <Destination mailbox> -TargetFolder <Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery Subject:"A meeting in New York" -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหา + บันทึกสำเนาของรายการเมล | คำค้นหา - รายการเมลที่มีสตริงข้อความในเมล BODY
ค้นหารายการเมลด้วยสตริงข้อความเฉพาะที่ปรากฏในอีเมล เนื้อหา
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery body:"<Text String>" -TargetMailbox <Destination mailbox> -TargetFolder <Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery Subject:"A meeting in New York" -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหา + บันทึกสำเนาของรายการเมล | คำค้นหา - รายการเมลที่มีสตริงข้อความในเมล BODY หรือหัวเรื่องเมล
ค้นหารายการเมลด้วยสตริงข้อความเฉพาะที่ปรากฏในข้อความอีเมล บรรทัดหัวเรื่อง หรือ หัวเรื่องเมล.
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery "<Text String>" -TargetMailbox <Destination mailbox> -TargetFolder <Folder> -LogLevel Fullตัวอย่างคำสั่ง Powershell:
Search-Mailbox "Bob" -SearchQuery "A meeting in New York" -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullไวยากรณ์คำสั่ง PowerShell เพิ่มเติมที่เราสามารถใช้เพื่อดำเนินการค้นหาที่มีเกณฑ์การค้นหาสองประเภทคือ:
ตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery {Subject:"A meeting in New York" OR body:"A meeting in New York"} -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหาและคัดลอกรายการเมล | ค้นหาตัวกรองคำค้นหา - วันที่หรือช่วงวันที่ที่ระบุ
ข้อมูลทั่วไปเกี่ยวกับหัวข้อ “รูปแบบวันที่และวันที่”
หัวเรื่องของรูปแบบวันที่ที่เราใช้ในการสืบค้น Search-Mailbox นั้นยุ่งยากเล็กน้อย เนื่องจากรูปแบบวันที่ได้รับผลกระทบจากรูปแบบวันที่ของ Windows OS, รูปแบบวันที่ของกล่องจดหมาย Exchange Online เป็นต้น
กรณีที่ 1 โดยส่วนใหญ่แล้ว รูปแบบวันที่ที่คุณต้องใช้ในคำค้นหาคือรูปแบบวันที่ของ Windows OS
กรณีที่ 2 - เมื่อใช้รูปแบบวันที่ในการสืบค้น Search-Mailbox จะต้องอยู่ในรูปแบบที่สอดคล้องกับการตั้งค่าภูมิภาคของเซิร์ฟเวอร์ Exchange
ในกรณีที่คุณได้รับข้อผิดพลาด เช่น “ตัวแยกวิเคราะห์ KQL มีข้อยกเว้น” ให้ใช้ “ชื่อเดือน” แทนรูปแบบของ “หมายเลขเดือน”
เช่น แทนที่จะใช้รูปแบบวันที่ - 21/07/2017 ให้ใช้รูปแบบต่อไปนี้ - 02/กรกฎาคม/2017
ค้นหา + บันทึกสำเนาของรายการเมล | คำค้นหา - อีเมลที่ส่งในวันที่ระบุ
ค้นหารายการเมลด้วย ส่ง ในวันที่ วันที่ที่ระบุ
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery sent:mm/dd/yyyy -TargetMailbox <Destination mailbox> -TargetFolder <Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery sent:21/07/2017 -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหา + บันทึกสำเนาของรายการเมล | คำค้นหา - อีเมลที่ส่งในช่วงวันที่ที่ระบุ
ค้นหารายการเมลด้วย ส่ง ใน ช่วงวันที่ ที่ระบุ
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery {sent:mm/dd/yyyy..mm/dd/yyyy} -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery {sent:21/06/2017..07/21/2017} -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหา + บันทึกสำเนาของรายการเมล | คำค้นหา - อีเมลที่ได้รับในช่วงวันที่ที่ระบุ
ค้นหารายการเมลที่ ได้รับ ในช่วง ช่วงวันที่ ที่ระบุ
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery {Received:mm/dd/yyyy..mm/dd/yyyy} -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery {Received:21/06/2017..21/07/2017} -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหา + บันทึกสำเนาของรายการเมล | คำค้นหา - อีเมลที่ส่งในวันที่ระบุ + อีเมลที่ได้รับในวันที่ที่ระบุ
ค้นหารายการเมลที่ ส่ง หรือ ได้รับ บน ช่วงวันที่เฉพาะ
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery {sent:mm/dd/yyyy OR Received: mm/dd/yyyy} -TargetMailbox <Destination mailbox> -TargetFolder <Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery {sent:30/07/2017 OR Received:30/07/2017}-TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหาและคัดลอกรายการเมล | ค้นหาตัวกรอง - ผู้ส่งหรือตามผู้รับ
ในส่วนนี้ เราต้องการค้นหารายการเมลที่ส่งจากผู้ส่งรายใดรายหนึ่งหรือถึงผู้รับรายใดรายหนึ่ง
ค้นหา + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - อีเมลที่ส่งโดยผู้ส่งที่ระบุ
ค้นหารายการเมลที่ ส่ง จาก ผู้ส่ง (ฟิลด์จดหมาย FROM ).
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery from:"<E-mail address>" -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery from:"John@o365info.com" -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหา + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - อีเมลที่ส่งถึงผู้รับเฉพาะ
ค้นหารายการเมลที่ ได้รับ จาก ผู้รับ เฉพาะ (ส่งไปยังเฉพาะ ผู้รับ - ช่องจดหมายถึง)
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery to:"<E-mail address>" -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery to:"Alice@outlook.com" -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหาและคัดลอกรายการเมล | ตัวกรองคำค้นหา - ไฟล์แนบอีเมล
ในส่วนนี้ เราต้องการค้นหารายการเมลที่มีไฟล์แนบ
ค้นหา + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - อีเมลที่มีชื่อไฟล์แนบเฉพาะ
ค้นหารายการเมลที่มีไฟล์แนบพร้อมนามสกุลไฟล์เฉพาะ
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery attachment:"<Attachment file name>" -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery attachment:"Customer.pdf" -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหา + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - ประเภทไฟล์แนบเฉพาะ (ส่วนต่อท้าย)
ค้นหารายการเมลที่มีไฟล์แนบพร้อมส่วนต่อท้ายชื่อไฟล์เฉพาะ
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery {Attachment -like "*.<suffix>"} -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery {Attachment -like "*.PDF"} -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหา + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - อีเมลพร้อมไฟล์แนบ
ค้นหารายการเมลที่มีไฟล์แนบ
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery {HasAttachment -eq $true} -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery -SearchQuery {HasAttachment -eq $true} -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหาและคัดลอกรายการเมล | ตัวกรองคำค้นหา - คำค้นหาเพิ่มเติม
ค้นหารายการเมลที่มีขนาด "ใหญ่กว่า" (มากกว่า) มากกว่าขนาดที่ระบุ
ค้นหา + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - รายการอีเมลมีขนาดใหญ่กว่า X MB
ไวยากรณ์คำสั่ง PowerShell:
Search-Mailbox <Source Mailbox> -SearchQuery {Size -gt <size in KB or MB>} -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -LogLevel Fullตัวอย่างคำสั่ง PowerShell:
Search-Mailbox "Bob" -SearchQuery -SearchQuery {Size -gt 5MB} -TargetMailbox Adele -TargetFolder "Search Results - Bob" -LogLevel Fullค้นหากล่องจดหมาย | ขอบเขตการค้นหากล่องจดหมาย| โฟลเดอร์จดหมายกู้คืน (Dumpster) และกล่องจดหมายเก็บถาวร
ในส่วนต่อไปนี้ ฉันต้องการทบทวนหัวข้อ "ขอบเขตการค้นหากล่องจดหมาย" โดยย่อ
ตามที่กล่าวไว้ ค้นหากล่องจดหมาย cmdlet จะดำเนินการตามการค้นหาเริ่มต้นในตำแหน่งที่ตั้งกล่องจดหมายต่อไปนี้ทั้งหมด:
- กล่องจดหมายหลัก
- กล่องจดหมายหลัก - โฟลเดอร์เมลการกู้คืน (Dumpster)
- เก็บกล่องจดหมาย
- กล่องจดหมายเก็บถาวร - โฟลเดอร์เมลการกู้คืน (Dumpster)
Search-Mailbox cmdlet ช่วยให้เราสามารถกำหนดขอบเขตการค้นหากล่องจดหมายเฉพาะ หรือยกเว้นขอบเขตกล่องจดหมายเฉพาะจากผลการค้นหา
โฟลเดอร์เมลการกู้คืนขอบเขตกล่องจดหมาย (Dumpster)
ข้อดีที่โดดเด่นที่สุดประการหนึ่งของ Search-Mailbox cmdlets คือความสามารถที่ผู้ดูแลระบบ Exchange สามารถดู (ค้นหา) เนื้อหาของโฟลเดอร์อีเมลการกู้คืน (Dumpster) และ "ดึงข้อมูล" สำเนาของรายการเมล Soft Deleted + Hard Deleted ที่จัดเก็บไว้ในโฟลเดอร์เมลการกู้คืน
ตามค่าเริ่มต้น cmdlets ค้นหากล่องจดหมาย จะทำการค้นหาในกล่องจดหมายหลัก + ในโฟลเดอร์จดหมายการกู้คืน (Dumpster)
ตัวอย่างเช่น ในกรณีที่เราไม่ได้กำหนดตัวกรองขอบเขตกล่องจดหมายเฉพาะ งานค้นหาจะรวมพื้นที่กล่องจดหมายหลัก + โฟลเดอร์อีเมลการกู้คืน (Dumpster)
Search-Mailbox <Source Mailbox> -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -LogLevel Fullไม่รวมการค้นหาโฟลเดอร์จดหมายกู้คืน (ถังขยะ)
ในกรณีที่เราต้องการแยกโฟลเดอร์อีเมลการกู้คืน (Dumpster) ออกจากการค้นหา เราสามารถใช้พารามิเตอร์ SearchDumpster และตั้งค่าสวิตช์เป็น $False เช่น -SearchDumpster:$False.
Search-Mailbox <Source Mailbox> -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -SearchDumpster:$false -LogLevel Fullค้นหาถังขยะเท่านั้น
ในกรณีที่เราต้องการดำเนินการค้นหาเฉพาะในโฟลเดอร์เมลการกู้คืน (Dumpster) เราสามารถใช้พารามิเตอร์ -SearchDumpsterOnly ซึ่งระบุว่าจะค้นหาเฉพาะโฟลเดอร์ Recoverable Items ของกล่องจดหมายที่ระบุเท่านั้น
Search-Mailbox <Source Mailbox> -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -SearchDumpsterOnly -LogLevel Fullขอบเขตกล่องจดหมายเก็บถาวร
ตามค่าเริ่มต้น ในกรณีที่กล่องจดหมาย Exchange เฉพาะมีไฟล์เก็บถาวร ระบบจะค้นหาไฟล์เก็บถาวรเสมอ
หากต้องการแยก Archive ออกจากการค้นหา ให้ใช้พารามิเตอร์ DoNotIncludeArchive
Search-Mailbox <Source Mailbox> -TargetMailbox <Target mailbox> -TargetFolder <Target Folder> -DoNotIncludeArchive -LogLevel Fullการเขียนตัวกรองการค้นหาขั้นสูง/แบบรวม
ส่วนเพิ่มเติมที่ฉันต้องการจะกล่าวถึงโดยย่อคือเรื่องของการกำหนดคำค้นหาขั้นสูงหรือซับซ้อนยิ่งขึ้นที่รวม "ตัวกรอง" หรือเงื่อนไขการค้นหาตั้งแต่สองรายการขึ้นไป
ในการกำหนดตัวกรองตั้งแต่สองตัวขึ้นไป เราสามารถใช้ตัวดำเนินการเชิงตรรกะ เช่น - “OR”, “AND” และอื่นๆ
ในแผนภาพต่อไปนี้ เราจะเห็นตัวอย่างไวยากรณ์ที่เราใช้เพื่อกำหนดคำค้นหาขั้นสูงยิ่งขึ้น
ตัวอย่างที่ 1
ค้นหารายการเมลทั้งหมดที่ตอบเกณฑ์การค้นหาต่อไปนี้:
รายการอีเมลที่มีไฟล์แนบ + นอกจากนี้ หัวข้ออีเมลคือ “ทดสอบ ”
Search-Mailbox <Source Mailbox> -SearchQuery {HasAttachment -eq $true and subject:Test} -TargetMailbox <Target mailbox> -TargetFolder <Target Folder>ตัวอย่างที่ 2
ค้นหารายการเมลทั้งหมดที่ตอบเกณฑ์การค้นหาต่อไปนี้:
ข้อความอีเมล์ รายการเมล หรือ ปฏิทิน รายการเมล หรือ ติดต่อ
Search-Mailbox <Source Mailbox> -SearchQuery {kind:email OR kind:meetings} -TargetMailbox <Target mailbox> -TargetFolder <Target Folder>ตัวอย่างที่ 3
ค้นหารายการเมลทั้งหมดที่ตอบเกณฑ์การค้นหาต่อไปนี้:
รายการเมลที่มีหัวเรื่อง ทดสอบ + ส่งจาก john@o365info.com + ส่งในวันที่ระบุ 30/07/2017
Search-Mailbox <Source Mailbox> -SearchQuery {Subject:"Test" AND From:"john@o365info.com" AND Sent:"30/07/2017"} -TargetMailbox <Target mailbox> -TargetFolder <Target Folder>

