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

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


ในบทความนี้ เราจะตรวจสอบสถานการณ์ต่างๆ ของการใช้ Search-Mailbox cmdlet สำหรับการลบรายการจดหมายจากกล่องจดหมาย Single 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 ใดบ้างที่ได้รับผลกระทบ และอื่นๆ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. ลบเนื้อหา

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

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

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

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

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

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

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

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

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

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

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

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

Search-Mailbox "Source Mailbox" -SearchDumpsterOnly -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchDumpsterOnly -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

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

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

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

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

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

Search-Mailbox "Source Mailbox" -SearchQuery "Kind:meetings" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchQuery "Kind:meetings" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

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

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

Search-Mailbox "Source Mailbox" -SearchQuery "Kind:contacts" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchQuery "Kind:contacts" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -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" -DeleteContent -Force -LogLevel Full

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

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

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

Search-Mailbox "Source Mailbox" -SearchQuery body:"Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchQuery Subject:"A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

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

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

Search-Mailbox "Source Mailbox" -SearchQuery "Text String" -TargetMailbox "Destination mailbox" -TargetFolder "Folder" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchQuery "A meeting in New York" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchQuery {Subject:"A meeting in New York" OR body:"A meeting in New York"} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -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 "Target Folder" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchQuery sent:21/07/2017 -TargetMailbox "Adele -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

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

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

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

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

Search-Mailbox "Bob" -SearchQuery {sent:21/06/2017..07/21/2017} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

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

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

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

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

Search-Mailbox "Bob" -SearchQuery {Received:21/06/2017..21/07/2017} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

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

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

Search-Mailbox "Source Mailbox" -SearchQuery {sent:mm/dd/yyyy OR Received: mm/dd/yyyy} -TargetMailbox "Destination mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchQuery {sent:30/07/2017 OR Received:30/07/2017}-TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -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" -DeleteContent -Force -LogLevel Full

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

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

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

Search-Mailbox "Source Mailbox" -SearchQuery to:"E-mail address" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchQuery to:"Alice@outlook.com" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

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

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

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

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

Search-Mailbox "Source Mailbox" -SearchQuery attachment:"Attachment file name" -TargetMailbox "Target mailbox" -TargetFolder "Target Folder" -DeleteContent -Force -LogLevel Full

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

Search-Mailbox "Bob" -SearchQuery attachment:"Customer.pdf" -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

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

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

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

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

Search-Mailbox "Bob" -SearchQuery {Attachment -like "*.PDF"} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -LogLevel Full

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

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

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

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

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

Search-Mailbox "Bob" -SearchQuery -SearchQuery {HasAttachment -eq $true} -TargetMailbox "Adele" -TargetFolder "Search Results - Bob" -DeleteContent -Force -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" -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.

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

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

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

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"

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