ค้นหาเว็บไซต์

ลบรายการเมลออกจากกล่องจดหมาย Exchange หลายกล่อง (จำนวนมาก) โดยใช้ PowerShell | ตอนที่ 4#5


บทความปัจจุบันทำหน้าที่เป็นบทนำเกี่ยวกับหัวข้อการลบรายการเมลโดยใช้ Search-Mailbox cmdlet ในบทความนี้ เราจะตรวจสอบสถานการณ์ต่างๆ ของการใช้ Search-Mailbox cmdlet สำหรับการลบรายการจดหมายจากกล่องจดหมาย Exchange หลายกล่อง (การลบจำนวนมาก)

เชื่อมต่อกับ Exchange Online PowerShell

เพื่อให้สามารถเรียกใช้คำสั่ง PowerShell ที่ระบุในบทความปัจจุบัน คุณจะต้องเชื่อมต่อกับ Exchange Online PowerShell

เริ่ม Windows PowerShell ในฐานะผู้ดูแลระบบ และเรียกใช้ cmdlet Connect-ExchangeOnline

Connect-ExchangeOnline

ก่อนที่คุณจะเรียกใช้คำสั่ง PowerShell ที่เราตรวจสอบในบทความนี้ เราต้องเน้นย้ำว่าคุณควรระมัดระวังในการใช้ cmdlet Search-Mailbox PowerShell นี้ เนื่องจาก cmdlet ของการดำเนินการ Hard Delete ของรายการเมล

คุณควรมีเหตุผลที่ดีในการใช้ตัวเลือกนี้ และเราขอแนะนำให้คุณทำความคุ้นเคยกับไวยากรณ์ของ PowerShell และเข้าใจคำค้นหาที่คุณใช้ เช่น เกิดอะไรขึ้นกับเมลที่ถูกลบ กล่องจดหมาย Exchange ใดบ้างที่ได้รับผลกระทบ และอื่นๆ

ในบทความถัดไป - ลบรายการอีเมลจากกล่องจดหมาย Single Exchange โดยใช้ PowerShell | ส่วนที่ 5#5 เราจะตรวจสอบสถานการณ์ต่างๆ ของการใช้ Search-Mailbox cmdlet สำหรับการลบรายการอีเมลจากกล่องจดหมาย Exchange เดียว

สถานการณ์ที่เราจำเป็นต้องใช้ Search-Mailbox cmdlet เพื่อลบรายการเมล

ตัวอย่างของสถานการณ์ที่ผู้ดูแลระบบ Exchange จำเป็นต้องลงทะเบียน cmdlet Search-Mailbox สำหรับ "การลบรายการเมล" จากกล่องจดหมาย Exchange เดียวหรือจากกล่องจดหมาย Exchange หลายกล่อง (การลบจำนวนมาก) อาจเป็นดังนี้:

1. การโจมตีของไวรัส

สถานการณ์ที่ไวรัสโจมตีผู้รับองค์กรของคุณ คุณต้องให้ไวรัสส่งไปยังผู้รับ Exchange สองสามราย แต่คุณไม่รู้ว่าใครคือผู้รับรายนี้

ในกรณีนี้ เราต้องการใช้ Search-Mailbox cmdlet เพื่อทำการค้นหาในกล่องจดหมาย Exchange ทั้งหมดเพื่อค้นหาชื่อไฟล์ไวรัส และหลังจากที่เราค้นหารายการเมลนี้แล้ว ให้ลบรายการเมลออกจาก กล่องจดหมายของผู้ใช้

<แข็งแกร่ง>2. ข้อความอีเมลละเอียดอ่อนที่ส่งไปยังผู้รับหลายคนโดยไม่ตั้งใจ

สถานการณ์ที่ผู้รับ Exchange ส่ง "ข้อความอีเมลที่ละเอียดอ่อน" โดยไม่ได้ตั้งใจไปยังผู้รับที่ไม่ควรอ่านรายการเมลที่ระบุ

และอีกครั้ง ในกรณีนี้ เราต้องการใช้ Search-Mailbox cmdlet เพื่อทำการค้นหาในกล่องจดหมาย Exchange ทั้งหมด และ "ลบ" (ลบ) รายการเมลนี้

“ตรรกะ” ของ Search-Mailbox cmdlet ที่เกี่ยวข้องกับ “การลบรายการเมล”

เนื่องจากเราตัดสินใจว่าจะต้องใช้ cmdlet Search-Mailbox เพื่อลบรายการเมล จึงมีสองสถานการณ์หลักที่เราสามารถเลือกได้:

ตัวเลือกที่ 1 - ลบรายการเมลออกจากกล่องจดหมายต้นทางโดยไม่บันทึกสำเนาของรายการเมลที่ถูกลบ

ในสถานการณ์นี้ เราต้องการลบรายการเมลเฉพาะออกจาก กล่องจดหมายต้นทาง (รายการเมลที่ตอบคำค้นหาในขอบเขตตัวกรอง) โดยไม่บันทึกสำเนาใด ๆ ของรายการที่ถูกลบเหล่านี้ รายการจดหมาย

ในกรณีนี้ เราใช้ไวยากรณ์คำสั่ง PowerShell โดยไม่ต้อง ให้ข้อมูลเกี่ยวกับ
กล่องจดหมายเป้าหมาย + โฟลเดอร์เป้าหมาย

ตัวอย่างของไวยากรณ์คำสั่ง PowerShell อาจเป็น:

Search-Mailbox "Source Mailbox" -DeleteContent -Force

ตัวเลือก 2 - ลบรายการเมลออกจากกล่องจดหมายต้นทาง + บันทึกสำเนาของรายการเมลที่ถูกลบ

ในสถานการณ์นี้ เราต้องการลบรายการเมลเฉพาะออกจาก กล่องจดหมายต้นทาง (รายการเมลที่ตอบคำค้นหาในขอบเขตตัวกรอง) แต่บันทึกสำเนาของรายการเมลที่ถูกลบไว้ใน กล่องจดหมายเป้าหมาย (ใน โฟลเดอร์เป้าหมาย)

ในกรณีนี้ เราใช้ไวยากรณ์คำสั่ง PowerShell + การให้ข้อมูลเกี่ยวกับ
กล่องจดหมายเป้าหมาย + โฟลเดอร์เป้าหมาย

ตัวอย่างของไวยากรณ์คำสั่ง PowerShell อาจเป็น:

Search-Mailbox "Source Mailbox" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force

ตัวเลือก 3 - ทำการค้นหา - ค้นหารายการเมลที่เราจะลบออกจากกล่องจดหมายต้นทาง + สร้างรายงาน (บันทึก)

ในสถานการณ์นี้ เราต้องการสร้างรายงาน (ไฟล์บันทึก) ซึ่งรวมถึงรายละเอียดเกี่ยวกับรายการเมลที่เรา "กำลังจะลบแต่ไม่ได้ดำเนินการ" การกระทำ " นอกเหนือจากการสร้างรายงาน

หากต้องการสร้างเฉพาะรายงานโดยไม่ต้องดำเนินการใดๆ เราใช้พารามิเตอร์ PowerShell -LogOnly

คำแนะนำของฉันคือให้พิจารณาใช้ตัวเลือกนี้ก่อนที่เราจะเริ่มต้นด้วยการลบจริง กล่าวอีกนัยหนึ่ง - ปลอดภัยดีกว่าขออภัย!

หลังจากที่เราดูข้อมูลที่ปรากฏในรายงาน (Log) และหลังจากที่เรา “อนุมัติ” ให้ลบรายการเมลเฉพาะแล้วให้กลับไปใช้ตัวเลือกใดตัวเลือกหนึ่งที่กล่าวมาข้างต้น (ลบรายการเมลโดยไม่บันทึกสำเนาหรือบันทึก สำเนาของรายการเมลที่ถูกลบใน กล่องจดหมายเป้าหมาย)

ในกรณีนี้ เราใช้ไวยากรณ์คำสั่ง PowerShell + การให้ข้อมูลเกี่ยวกับ กล่องจดหมายเป้าหมาย + โฟลเดอร์เป้าหมาย ที่จะ “จัดเก็บ ” ไฟล์รายงาน .

ตัวอย่างของไวยากรณ์คำสั่ง PowerShell อาจเป็น:

Search-Mailbox "Source Mailbox" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogOnly

คำอธิบายสถานการณ์

ในตัวอย่างต่อไปนี้ ฉันชอบที่จะอยู่ในด้านความปลอดภัย ด้วยเหตุนี้ ตัวอย่างคำสั่ง PowerShell ทั้งหมดจะขึ้นอยู่กับสถานการณ์ที่เราบันทึกสำเนาของรายการเมลที่ถูกลบใน “กล่องจดหมายเป้าหมาย” ในกรณีที่คุณต้องการหลีกเลี่ยงตัวเลือกนี้ คุณสามารถลบส่วนที่เกี่ยวกับ กล่องจดหมายเป้าหมาย + โฟลเดอร์เป้าหมาย ออกจากไวยากรณ์คำสั่ง PowerShell

เป้าหมาย

เป้าหมายที่เราพยายามบรรลุคือ:

  1. ทำการค้นหาในกล่องจดหมาย Exchange หลายกล่อง (จำนวนมาก การค้นหากล่องจดหมาย) การค้นหาจะดำเนินการโดยการกำหนด ข้อความค้นหา เฉพาะ (เกณฑ์การค้นหา) ซึ่งจะช่วยให้เราค้นหารายการอีเมลเฉพาะที่ตอบ ข้อความค้นหา
  2. เราต้องการที่จะ ลบ รายการเมลทั้งหมดที่ปรากฏใน ผลการค้นหา
  3. ผลการค้นหา (รายการเมลที่ถูกลบ) จะถูกคัดลอกไปยัง กล่องจดหมายเป้าหมาย และบันทึกไว้ในโฟลเดอร์เฉพาะ (โฟลเดอร์เป้าหมาย)
  4. นอกจากนี้ เราต้องการสร้างรายงานโดยละเอียด (บันทึก) เกี่ยวกับแต่ละรายการอีเมลที่ปรากฏใน ผลการค้นหา และที่ถูกลบ (ไฟล์ Log\Report จะถูกบันทึกไว้ใน โฟลเดอร์เป้าหมาย)

กล่องจดหมายต้นทาง + กล่องจดหมายเป้าหมาย (และโฟลเดอร์เป้าหมาย)

  • กล่องจดหมายต้นทาง (กล่องจดหมายที่เราดำเนินการค้นหา) คือกล่องจดหมาย Exchange ทั้งหมด
  • กล่องจดหมายเป้าหมายที่เราใช้สำหรับจัดเก็บผลการค้นหา (รายการอีเมล) เป็นของ Adele
  • ชื่อ โฟลเดอร์เป้าหมาย จะเป็น - การค้นหาผลลัพธ์การค้นหากล่องจดหมายหลายกล่อง - การสำรองข้อมูลรายการเมลที่ถูกลบ

ขอบเขตการค้นหากล่องจดหมาย

ตามค่าเริ่มต้น Search-Mailbox cmdlet จะทำการค้นหาใน "กล่องจดหมายต้นทาง" ซึ่งรวมถึง "ช่องว่างกล่องจดหมาย" ต่อไปนี้:

กล่องจดหมายหลัก

  1. ค้นหากล่องจดหมาย cmdlet จะทำการค้นหาที่เกี่ยวข้องกับโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดในกล่องจดหมายหลัก
  2. โฟลเดอร์เมลการกู้คืน - โดยค่าเริ่มต้น cmdlet Search-Mailbox จะค้นหารายการเมลที่จัดเก็บไว้ในโฟลเดอร์เมลการกู้คืน (Dumpster) ด้วย

เก็บกล่องจดหมาย

ในกรณีที่กล่องจดหมายต้นทางมีกล่องจดหมายเก็บถาวร

  1. ค้นหากล่องจดหมาย cmdlet จะทำการค้นหาที่เกี่ยวข้องกับโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดในกล่องจดหมายเก็บถาวร
  2. โฟลเดอร์เมลการกู้คืน - โดยค่าเริ่มต้น cmdlet Search-Mailbox จะค้นหารายการเมลที่เก็บไว้ในโฟลเดอร์เมลการกู้คืนที่เก็บถาวรของกล่องจดหมาย (Dumpster)

การทำความสะอาดโฟลเดอร์เมลการกู้คืน (Dumpster)

Search-Mailbox cmdlet มีความสามารถในการลบรายการเมลที่เก็บไว้ในโฟลเดอร์เมลการกู้คืน (Dumpster)

โฟลเดอร์เมลการกู้คืน (Dumpster) ใช้โฟลเดอร์สองโฟลเดอร์ที่แยกจากกันเพื่อจัดเก็บรายการเมลที่ถูกลบประเภทต่อไปนี้:

  • การลบ - โฟลเดอร์ที่เก็บรายการเมล Soft Deleted
  • ล้างข้อมูล - โฟลเดอร์ที่เก็บรายการเมลที่ถูกลบแบบถาวร

สิ่งสำคัญที่ต้องกล่าวถึงคือ ในกรณีที่เราใช้ Search-Mailbox cmdlet เพื่อลบรายการอีเมลที่จัดเก็บไว้ในโฟลเดอร์อีเมลการกู้คืน (Dumpster) Search-Mailbox cmdlet สามารถลบรายการเมลที่จัดเก็บไว้ในโฟลเดอร์การลบเท่านั้น (โฟลเดอร์ที่เก็บรายการเมล Soft Deleted) แต่ไม่สามารถลบรายการเมลที่จัดเก็บไว้ในโฟลเดอร์ Purges (โฟลเดอร์ที่จัดเก็บ รายการเมลที่ถูกลบแบบถาวร)

การใช้ Search-Mailbox เพื่อลบรายการเมล | พารามิเตอร์ PowerShell

ตัวเลือก “ใช้งานอยู่” ของการลบรายการเมลโดยใช้ Search-Mailbox cmdlet เราจำเป็นต้องเพิ่มพารามิเตอร์คำสั่ง PowerShell ต่อไปนี้:

1. ลบเนื้อหา

พารามิเตอร์ DeleteContent จะสั่งให้ cmdlet Search-Mailbox “ค้นหาและทำลาย” รายการเมลที่ตรงกับเกณฑ์การค้นหา

<แข็งแกร่ง>2. บังคับ

พารามิเตอร์ “บังคับ” นี้ไม่ใช่พารามิเตอร์บังคับ วัตถุประสงค์ของพารามิเตอร์นี้คือ เพื่อป้องกันไม่ให้ Search-Mailbox cmdlet ขอให้เรายืนยันรายการเมลแต่ละรายการที่จะถูกลบ

ในแผนภาพต่อไปนี้ เราจะเห็นพารามิเตอร์เพิ่มเติมที่ “เปลี่ยน ” the Search-Mailbox cmdlet จากเครื่องมือที่ค้นหาและค้นหาข้อมูล (รายการเมล) ให้เป็นอาวุธร้ายแรงที่ทำลายเมล (Hard Delete) รายการ!

คำว่า “ค้นหากล่องจดหมายหลายกล่อง”

ในบทความปัจจุบัน เราจะตรวจสอบวิธีใช้ Search-Mailbox cmdlet สำหรับการค้นหา + การลบรายการเมลที่จัดเก็บไว้ใน "กลุ่ม" หรือ "อาร์เรย์" ของกล่องจดหมาย Exchange

ข้อกำหนดของกล่องจดหมาย Exchange เป็นข้อกำหนดที่ยืดหยุ่นมากเนื่องจากมีหลายวิธีที่เราสามารถใช้เพื่อระบุกล่องจดหมาย Exchange ที่ถือว่าเป็นส่วนหนึ่งของ "กลุ่ม"

กล่าวอีกนัยหนึ่ง เรามีตัวเลือกมากมายในการกำหนดขอบเขตการค้นหาของกล่องจดหมาย

ตัวอย่างที่ง่ายที่สุดคือ - ทำการค้นหากล่องจดหมายที่เกี่ยวข้องกับกล่องจดหมาย Exchange ที่มีอยู่ทั้งหมด ในสถานการณ์สมมตินี้ เรากำหนด "กลุ่ม" ของกล่องจดหมาย Exchange ที่มีอยู่ทั้งหมดเป็น:

Get-Mailbox -ResultSize Unlimited

หลังจากที่เรากำหนดอักขระหรือกล่องจดหมายเฉพาะ “กลุ่ม ” (กล่องจดหมายหลายกล่อง) เราจะ “ไปป์” กลุ่มกล่องจดหมาย Exchange ไปยังคำสั่ง ค้นหากล่องจดหมาย PowerShell

มีตัวเลือกมากมายที่เราสามารถใช้เพื่อกำหนด "กลุ่ม" เฉพาะของกล่องจดหมาย Exchange

ตัวอย่างที่ 1: ทำการค้นหากล่องจดหมายหลายกล่อง | กล่องจดหมาย Exchange ทุกประเภท

ตัวอย่างเช่น ในการค้นหารายการเมลในกล่องจดหมาย Exchange ที่มีอยู่ทั้งหมด เราสามารถใช้ไวยากรณ์คำสั่งต่อไปนี้:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery

ตัวอย่างที่ 2: ทำการค้นหากล่องจดหมายหลายกล่อง | กล่องจดหมาย Exchange USER ทั้งหมด

Get-Mailbox -Filter '(RecipientTypeDetails -eq "UserMailbox")' | Search-Mailbox -SearchQuery

ตัวอย่างที่ 3: ทำการค้นหากล่องจดหมายหลายกล่อง | กล่องจดหมายที่ใช้ร่วมกันของ Exchange ทั้งหมด

Get-Mailbox -Filter '(RecipientTypeDetails -eq "SharedMailbox")' | Search-Mailbox -SearchQuery

ตัวอย่างที่ 4: ทำการค้นหากล่องจดหมายหลายกล่อง | กล่องจดหมายของห้องแลกเปลี่ยนทั้งหมด

Get-Mailbox -Filter '(RecipientTypeDetails -eq "RoomMailBox")' | Search-Mailbox -SearchQuery

ตัวอย่างที่ 5: ทำการค้นหากล่องจดหมายหลายกล่อง | กล่องจดหมาย Exchange - สมาชิกในกลุ่มการแจกจ่าย

ในสถานการณ์สมมตินี้ เราต้องการดำเนินการค้นหาโดยกำหนด "กลุ่มกล่องจดหมาย Exchange" ซึ่ง "เป็นของ" (สมาชิก) ของกลุ่มการแจกจ่ายเฉพาะ

Get-DistributionGroupMember "Distribution Group name" | Search-Mailbox -SearchQuery

ใช้ Search-Mailbox เพื่อทำการค้นหา

ค้นหาและลบรายการเมล + บันทึกสำเนารายการเมล | ลบรายการเมลออกจากโฟลเดอร์เมลการกู้คืน (Dumpster)

ในตัวอย่างนี้ เราใช้ Search-Mailbox cmdlet โดยไม่มีตัวกรอง “ตัวกรอง ” หรือ คำค้นหา

แต่เราใช้พารามิเตอร์ PowerShell SearchDumpsterOnly แทนเพื่อจำกัดการค้นหา (และการลบรายการเมล) เฉพาะรายการเมลที่จัดเก็บไว้ในโฟลเดอร์เมลการกู้คืน (Dumpster)

ในสถานการณ์นี้ เป้าหมายของเราคือการลบรายการเมลที่ถูกลบแบบ Soft ทั้งหมดที่จัดเก็บไว้ในโฟลเดอร์เมลการกู้คืน (Dumpster) + บันทึกสำเนารายการเมลทั้งหมดที่ถูกลบจากกล่องจดหมายต้นทางไปยังกล่องจดหมายเป้าหมาย

ตามที่กล่าวไว้ Search-Mailbox cmdlet ไม่สามารถลบรายการเมลที่ถูกลบแบบถาวรซึ่งจัดเก็บไว้ในโฟลเดอร์ย่อย Purges (โฟลเดอร์ย่อยของโฟลเดอร์เมลการกู้คืน)

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | โฟลเดอร์เมลการกู้คืนขอบเขตการค้นหากล่องจดหมาย (Dumpster)

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchDumpsterOnly -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchDumpsterOnly -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ค้นหาตัวกรองคำค้นหา - ประเภทรายการจดหมายเฉพาะ

ในสถานการณ์สมมตินี้ เราต้องการ:

  • ค้นหา (ค้นหา) เฉพาะรายการเมลบางประเภท (เช่น ปฏิทินหรือรายการเมลผู้ติดต่อ) ใน กล่องจดหมายต้นทาง (กล่องจดหมาย Exchange) หลายกล่อง
  • ลบรายการเมลเหล่านี้
  • บันทึกสำเนาของรายการเมลที่ถูกลบใน กล่องจดหมายเป้าหมาย

ค้นหา + บันทึกสำเนาของรายการเมล | ตัวกรองคำค้นหา - รายการปฏิทิน

ค้นหา + ลบรายการเมลบางประเภท - รายการ ปฏิทิน

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Kind:meetings" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Kind:meetings" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหา + บันทึกสำเนาของรายการเมล | คำค้นหา - รายการผู้ติดต่อ

ค้นหา + ลบรายการเมลบางประเภท - รายการ รายชื่อผู้ติดต่อ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Kind:contacts" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Kind:contacts" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

หมายเหตุ: ตามค่าเริ่มต้น หากไม่ได้ระบุ Search-Mailbox cmdlet จะค้นหาประเภทข้อความทุกประเภท

เมื่อใช้ตัวเลือกตัวกรองการค้นหา ประเภท ค่าที่ถูกต้องอาจเป็นค่าใดค่าหนึ่งต่อไปนี้:

  • อีเมล
  • การประชุม
  • งาน
  • หมายเหตุ
  • เอกสาร
  • วารสาร
  • รายชื่อผู้ติดต่อ
  • ฉัน

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ตัวกรองคำค้นหา - สตริงข้อความ

ในส่วนนี้ เราใช้ คำค้นหา ที่จะค้นหารายการเมลที่มีสตริงข้อความเฉพาะ

หมายเหตุทั่วไป - เนื่องจากเราใช้เครื่องหมายคำพูด การค้นหาจะดึงเฉพาะผลลัพธ์ที่คำทั้งหมดในสตริงข้อความที่เรากำหนดปรากฏขึ้น

ตัวอย่างเช่น ในสถานการณ์ของเรา เรามองหาสตริงข้อความ: “การประชุมในนิวยอร์ก”
รายการอีเมลที่มีคำว่า “นิวยอร์ก ” หรือ “การประชุม ” จะไม่ปรากฏในผลการค้นหา

เฉพาะรายการเมลที่มี วลีข้อความ ทั้งหมดที่ปรากฏภายในเครื่องหมายคำพูดเท่านั้นที่จะถือเป็น "รายการเมลที่ถูกต้อง" ที่ตอบ คำค้นหา (วลีหรือคำหลักที่แน่นอนใน เรื่องของรายการ)

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | คำค้นหา - รายการเมลที่มีสตริงข้อความในเมล SUBJECT

ค้นหา + ลบรายการอีเมลด้วยสตริงข้อความเฉพาะที่ปรากฏในข้อความอีเมล บรรทัดหัวเรื่อง

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery Subject:"Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery Subject:"A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item’s Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | คำค้นหา - รายการเมลที่มีสตริงข้อความในเมล BODY

ค้นหา + ลบรายการเมลด้วยสตริงข้อความเฉพาะที่ปรากฏในอีเมล Body

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery body:"Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery Subject:"A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | คำค้นหา - รายการเมลที่มีสตริงข้อความในเมล BODY หรือหัวเรื่องเมล

ค้นหา + ลบรายการอีเมลด้วยสตริงข้อความเฉพาะที่ปรากฏในข้อความอีเมล บรรทัดหัวเรื่อง หรือ หัวเรื่องเมล.

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery "A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ไวยากรณ์คำสั่ง PowerShell เพิ่มเติมที่เราสามารถใช้เพื่อดำเนินการค้นหาที่มีเกณฑ์การค้นหาสองประเภทคือ:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Subject:"A meeting in New York" OR body:"A meeting in New York"} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ค้นหาตัวกรองคำค้นหา - วันที่หรือช่วงวันที่ที่ระบุ

ข้อมูลทั่วไปเกี่ยวกับหัวข้อ “รูปแบบวันที่และวันที่”

หัวเรื่องของรูปแบบวันที่ที่เราใช้ในการสืบค้น Search-Mailbox นั้นยุ่งยากเล็กน้อย เนื่องจากรูปแบบวันที่ได้รับผลกระทบจากรูปแบบวันที่ของ Windows OS, รูปแบบวันที่ของกล่องจดหมาย Exchange Online เป็นต้น

กรณีที่ 1: โดยส่วนใหญ่ รูปแบบวันที่ที่คุณต้องใช้ในคำค้นหาคือรูปแบบวันที่ของ Windows OS

กรณีที่ 2: เมื่อใช้รูปแบบวันที่ในการสืบค้น Search-Mailbox จะต้องอยู่ในรูปแบบที่สอดคล้องกับการตั้งค่าภูมิภาคของเซิร์ฟเวอร์ Exchange

ในกรณีที่คุณได้รับข้อผิดพลาด เช่น “ตัวแยกวิเคราะห์ KQL มีข้อยกเว้น” ให้ใช้ “ชื่อเดือน” แทนรูปแบบของ “หมายเลขเดือน”

เช่น แทนที่จะใช้รูปแบบวันที่ - 21/07/2017 ให้ใช้รูปแบบต่อไปนี้ - 02/กรกฎาคม/2017

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | คำค้นหา - อีเมลที่ส่งในวันที่ระบุ

ค้นหา + ลบรายการเมลด้วย ส่ง ในวันที่ วันที่ที่ระบุ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery sent:mm/dd/yyyy -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery sent:21/07/2017 -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | คำค้นหา - อีเมลที่ส่งในช่วงวันที่ที่ระบุ

ค้นหา + ลบรายการเมลด้วย ส่ง ใน ช่วงวันที่ที่ระบุ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {sent:mm/dd/yyyy..mm/dd/yyyy} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {sent:21/06/2017..07/21/2017} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | คำค้นหา - อีเมลที่ได้รับในช่วงวันที่ที่ระบุ

ค้นหา + ลบรายการเมลที่ ได้รับ ในช่วง ช่วงวันที่ที่ระบุ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Received:mm/dd/yyyy..mm/dd/yyyy} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Received:21/06/2017..21/07/2017} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ค้นหาตัวกรองคำค้นหา - โดยผู้ส่งหรือตามผู้รับ

ในส่วนนี้ เราต้องการค้นหา + ลบรายการเมลที่ส่งจากผู้ส่งรายใดรายหนึ่งหรือถึงผู้รับรายใดรายหนึ่ง

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - อีเมลที่ส่งโดยผู้ส่งที่ระบุ

ค้นหา + ลบรายการอีเมลที่ส่งจากผู้ส่งที่ระบุ (ช่องอีเมล FROM)

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery from:"E-mail address" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery from:"John@o365info.com" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - อีเมลที่ส่งถึงผู้รับเฉพาะ

ค้นหา + ลบรายการเมลที่ได้รับจากผู้รับที่ระบุ (ส่งไปยังผู้รับที่ระบุ - ช่องเมล TO)

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery to:"E-mail address" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery to:"Alice@outlook.com" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ตัวกรองคำค้นหา - ไฟล์แนบอีเมล

ในส่วนนี้เราต้องการค้นหา + ลบรายการเมลที่มีไฟล์แนบ

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - อีเมลที่มีชื่อไฟล์แนบเฉพาะ

ค้นหา + ลบรายการเมลที่มีไฟล์แนบพร้อมนามสกุลไฟล์เฉพาะ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery attachment:"Attachment file name" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery attachment:"Customer.pdf" -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - ประเภทไฟล์แนบเฉพาะ (ส่วนต่อท้าย)

ค้นหา + ลบรายการเมลที่มีไฟล์แนบพร้อมส่วนต่อท้ายชื่อไฟล์เฉพาะ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Attachment -like "*.suffix"} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Attachment -like "*.PDF"}-TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - อีเมลพร้อมไฟล์แนบ

ค้นหา + ลบรายการเมลที่มีไฟล์แนบ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {HasAttachment -eq $true} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery -SearchQuery {HasAttachment -eq $true} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ตัวกรองคำค้นหา - คำค้นหาเพิ่มเติม

ค้นหาและลบรายการเมล + บันทึกสำเนาของรายการเมล | ขอบเขตตัวกรอง - รายการอีเมลมีขนาดใหญ่กว่า X MB

ค้นหา + ลบรายการอีเมลว่าขนาดของรายการนั้น "ใหญ่กว่า" (มากกว่า) มากกว่าขนาดที่ระบุ

ไวยากรณ์คำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Size -gt <size in KB or MB>} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -LogLevel Full

ตัวอย่างคำสั่ง PowerShell:

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery -SearchQuery {Size -gt 5MB} -TargetMailbox "Adele" -TargetFolder "Search Results Multiple Mailbox search - DELETED mail item's Backup" -DeleteContent -Force -LogLevel Full

ค้นหากล่องจดหมาย | ขอบเขตการค้นหากล่องจดหมาย | โฟลเดอร์จดหมายกู้คืน (ถังขยะ) และกล่องจดหมายเก็บถาวร

ในส่วนต่อไปนี้ ฉันต้องการทบทวนหัวข้อ "ขอบเขตการค้นหากล่องจดหมาย" โดยย่อ

ตามที่กล่าวไว้ ค้นหากล่องจดหมาย cmdlet จะดำเนินการตามการค้นหาเริ่มต้นในตำแหน่งที่ตั้งกล่องจดหมายต่อไปนี้ทั้งหมด:

  1. กล่องจดหมายหลัก
  2. กล่องจดหมายหลัก - โฟลเดอร์เมลการกู้คืน (Dumpster)
  3. เก็บกล่องจดหมาย
  4. กล่องจดหมายเก็บถาวร - โฟลเดอร์เมลการกู้คืน (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.

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -SearchDumpster:$false -LogLevel Full

ค้นหาถังขยะเท่านั้น

ในกรณีที่เราต้องการดำเนินการค้นหาเฉพาะในโฟลเดอร์เมลการกู้คืน (Dumpster) เราสามารถใช้พารามิเตอร์ -SearchDumpsterOnly ซึ่งระบุว่าจะค้นหาเฉพาะโฟลเดอร์ Recoverable Items ของกล่องจดหมายที่ระบุเท่านั้น

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -SearchDumpsterOnly -LogLevel Full

ขอบเขตกล่องจดหมายเก็บถาวร

ตามค่าเริ่มต้น ในกรณีที่กล่องจดหมาย Exchange เฉพาะมีไฟล์เก็บถาวร ระบบจะค้นหาไฟล์เก็บถาวรเสมอ

หากต้องการแยก Archive ออกจากการค้นหา ให้ใช้พารามิเตอร์ DoNotIncludeArchive

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DoNotIncludeArchive -LogLevel Full

การเขียนตัวกรองการค้นหาขั้นสูง/แบบรวม

ส่วนเพิ่มเติมที่ฉันต้องการจะกล่าวถึงโดยย่อคือเรื่องของการกำหนดคำค้นหาขั้นสูงหรือซับซ้อนยิ่งขึ้นที่รวม "ตัวกรอง" หรือเงื่อนไขการค้นหาตั้งแต่สองรายการขึ้นไป

ในการกำหนดตัวกรองตั้งแต่สองตัวขึ้นไป เราสามารถใช้ตัวดำเนินการเชิงตรรกะ เช่น - “OR”,”AND” และอื่นๆ อีกมากมาย

ในแผนภาพต่อไปนี้ เราจะเห็นตัวอย่างไวยากรณ์ที่เราใช้เพื่อกำหนดคำค้นหาขั้นสูงยิ่งขึ้น

ตัวอย่างที่ 1

ค้นหารายการเมลทั้งหมดที่ตอบเกณฑ์การค้นหาต่อไปนี้:

รายการเมลที่มีไฟล์แนบ + นอกจากนี้ หัวข้อเมลคือ “ทดสอบ ”

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {HasAttachment -eq $true and subject:Test} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder"

ตัวอย่างที่ 2

ค้นหารายการเมลทั้งหมดที่ตอบเกณฑ์การค้นหาต่อไปนี้:

รายการเมลใน เมล หรือ ปฏิทิน

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {kind:email OR kind:meetings} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder"

ตัวอย่างที่ 3

ค้นหารายการเมลทั้งหมดที่ตอบเกณฑ์การค้นหาต่อไปนี้:

รายการเมลที่มีหัวเรื่อง ทดสอบ + ส่งจาก john@o365info.com + ส่งในวันที่ระบุ 30/07/2017

Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery {Subject:"Test" AND From:"john@o365info.com" AND Sent:"30/07/2017"} -TargetMailbox "Target mailbox" -TargetFolder "Target Folder"

บทความที่เกี่ยวข้อง