ลบรายการเมลออกจากกล่องจดหมาย 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
เป้าหมาย
เป้าหมายที่เราพยายามบรรลุคือ:
- ทำการค้นหาในกล่องจดหมาย Exchange หลายกล่อง (จำนวนมาก การค้นหากล่องจดหมาย) การค้นหาจะดำเนินการโดยการกำหนด ข้อความค้นหา เฉพาะ (เกณฑ์การค้นหา) ซึ่งจะช่วยให้เราค้นหารายการอีเมลเฉพาะที่ตอบ ข้อความค้นหา
- เราต้องการที่จะ ลบ รายการเมลทั้งหมดที่ปรากฏใน ผลการค้นหา
- ผลการค้นหา (รายการเมลที่ถูกลบ) จะถูกคัดลอกไปยัง กล่องจดหมายเป้าหมาย และบันทึกไว้ในโฟลเดอร์เฉพาะ (โฟลเดอร์เป้าหมาย)
- นอกจากนี้ เราต้องการสร้างรายงานโดยละเอียด (บันทึก) เกี่ยวกับแต่ละรายการอีเมลที่ปรากฏใน ผลการค้นหา และที่ถูกลบ (ไฟล์ Log\Report จะถูกบันทึกไว้ใน โฟลเดอร์เป้าหมาย)
กล่องจดหมายต้นทาง + กล่องจดหมายเป้าหมาย (และโฟลเดอร์เป้าหมาย)
- กล่องจดหมายต้นทาง (กล่องจดหมายที่เราดำเนินการค้นหา) คือกล่องจดหมาย Exchange ทั้งหมด
- กล่องจดหมายเป้าหมายที่เราใช้สำหรับจัดเก็บผลการค้นหา (รายการอีเมล) เป็นของ Adele
- ชื่อ โฟลเดอร์เป้าหมาย จะเป็น - การค้นหาผลลัพธ์การค้นหากล่องจดหมายหลายกล่อง - การสำรองข้อมูลรายการเมลที่ถูกลบ
ขอบเขตการค้นหากล่องจดหมาย
ตามค่าเริ่มต้น Search-Mailbox cmdlet จะทำการค้นหาใน "กล่องจดหมายต้นทาง" ซึ่งรวมถึง "ช่องว่างกล่องจดหมาย" ต่อไปนี้:
กล่องจดหมายหลัก
- ค้นหากล่องจดหมาย cmdlet จะทำการค้นหาที่เกี่ยวข้องกับโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดในกล่องจดหมายหลัก
- โฟลเดอร์เมลการกู้คืน - โดยค่าเริ่มต้น cmdlet Search-Mailbox จะค้นหารายการเมลที่จัดเก็บไว้ในโฟลเดอร์เมลการกู้คืน (Dumpster) ด้วย
เก็บกล่องจดหมาย
ในกรณีที่กล่องจดหมายต้นทางมีกล่องจดหมายเก็บถาวร
- ค้นหากล่องจดหมาย cmdlet จะทำการค้นหาที่เกี่ยวข้องกับโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดในกล่องจดหมายเก็บถาวร
- โฟลเดอร์เมลการกู้คืน - โดยค่าเริ่มต้น 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 จะดำเนินการตามการค้นหาเริ่มต้นในตำแหน่งที่ตั้งกล่องจดหมายต่อไปนี้ทั้งหมด:
- กล่องจดหมายหลัก
- กล่องจดหมายหลัก - โฟลเดอร์เมลการกู้คืน (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.
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"



