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

การใช้คำสั่ง Search-Mailbox PowerShell - บทนำ | ตอนที่ 1#5


ชุดบทความปัจจุบันเกี่ยวข้องกับคำสั่ง PowerShell ที่มีประโยชน์และทรงพลังชื่อ - Search-Mailbox ฉันเกี่ยวข้องกับคำสั่ง Search-Mailbox PowerShell ว่าเป็น “Swiss Knife ” เพราะเราสามารถใช้คำสั่ง Search-Mailbox PowerShell สำหรับสถานการณ์หลายประเภท

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

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

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

Connect-ExchangeOnline

คำสั่ง Search-Mailbox PowerShell ทำหน้าที่อะไร

คำสั่ง ค้นหากล่องจดหมาย PowerShell ตามชื่อที่แนะนำทำหน้าที่เป็นเครื่องมือสำหรับผู้ดูแลระบบ Exchange เพื่อทำการค้นหาในกล่องจดหมาย Exchange (หรือหลายกล่องจดหมาย) สำหรับรายการเมลที่ระบุ

คำว่า "รายการเมล" เกี่ยวข้องกับรายการในกล่องจดหมายทุกประเภท เช่น ข้อความอีเมล การประชุมในปฏิทิน ผู้ติดต่อ งาน และอื่นๆ

คำสั่ง Search-Mailbox PowerShell มีอักขระพิเศษที่แตกต่างกันสี่ตัว

1. ผลการค้นหา

หากเชื่อมโยงกัน เราสามารถสันนิษฐานได้ว่าคำว่า "ผลการค้นหา " แปลเป็นดัชนีบางประเภท ซึ่งแสดงรายการสิ่งที่ค้นพบทั้งหมด (ไฟล์บันทึก ฯลฯ) สิ่งที่น่าสนใจเกี่ยวกับ กล่องจดหมายค้นหา “ผลการค้นหา ” ก็คือ “ผลการค้นหา ” ซึ่งถือเป็นสำเนาของรายการอีเมลต้นฉบับที่ตอบคำถามค้นหาของเรา

ตัวอย่างเช่น หากเราใช้คำสั่ง Search-Mailbox PowerShell เพื่อค้นหาข้อความอีเมลที่มีสตริงข้อความเฉพาะในกล่องจดหมายของ Bob คำสั่ง Search-Mailbox PowerShell จะช่วยให้เราคัดลอกรายการอีเมลที่ตอบได้ คำถามของเรา ("ผลการค้นหา") ไปยังร้านค้าอื่น (กล่องจดหมายเป้าหมายซึ่งจะกล่าวถึงในภายหลัง)

2. “การกระทำ ” ที่สามารถนำไปใช้ได้เมื่อใช้ Search-Mailbox

ตามที่กล่าวไว้ในส่วนก่อนหน้า คำสั่ง ค้นหากล่องจดหมาย PowerShell สามารถช่วยให้เราค้นหา (ค้นหา) รายการอีเมลเฉพาะที่จัดเก็บไว้ในกล่องจดหมาย Exchange และคัดลอกรายการอีเมลนี้ไปยังร้านค้าอื่น (กล่องจดหมาย Exchange อื่น)

"การกระทำ" เพิ่มเติมที่สามารถใช้งานได้โดยคำสั่ง Search-Mailbox PowerShell เป็นการกระทำที่น่าสนใจและทรงพลังมาก - การลบรายการเมล (การลบ "ผลการค้นหา")

นอกจากคำสั่ง Office 365 PowerShell ใหม่ชื่อ New-ComplianceSearchAction แล้ว คำสั่ง Search-Mailbox PowerShell ยังเป็นคำสั่งเดียวที่ช่วยให้ผู้ดูแลระบบ Exchange สามารถ “ลบ ” (ลบ) เมลเฉพาะได้ รายการจากกล่องจดหมาย Exchange หรือกล่องจดหมาย Exchange หลายกล่อง

คุณสามารถอ่านข้อมูลเพิ่มเติมเกี่ยวกับวิธีการลบรายการจดหมายโดยใช้คำสั่ง PowerShell New-ComplianceSearchAction ในบทความ - ค้นหาและลบข้อความอีเมลในองค์กร Office 365 ของคุณ - ความช่วยเหลือสำหรับผู้ดูแลระบบ

3. กล่องจดหมาย Exchange “ช่องว่าง”

คำสั่ง Search-Mailbox PowerShell ช่วยให้เราสามารถกำหนด "ตำแหน่ง" เฉพาะของกล่องจดหมาย Exchange ที่จะใช้การดำเนินการค้นหา

ตัวอย่างเช่น เราสามารถสั่งให้ Search-Mailbox PowerShell cmdlet ทำการค้นหาเฉพาะในโฟลเดอร์กล่องจดหมายพิเศษที่ซ่อนอยู่ซึ่งมีชื่อว่า - โฟลเดอร์อีเมลการกู้คืน (Dumpster) ที่ทำหน้าที่เป็นร้านค้าเฉพาะสำหรับ Soft Deleted และ รายการเมลที่ถูกลบแบบถาวร

4. คำค้นหา

Search-Mailbox cmdlet ช่วยให้เราสามารถกำหนดพารามิเตอร์ที่เป็นไปได้เกือบทั้งหมดสำหรับการกำหนดคำค้นหาของเรา เช่น - ผู้ส่ง ผู้รับ วันที่ ประเภทของรายการเมล สตริงข้อความเฉพาะ และอื่นๆ อีกมากมาย

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

โครงสร้างคำสั่ง Search-Mailbox

Search-Mailbox cmdlet ประกอบด้วยสามส่วน:

  • ส่วน A - ในส่วนนี้ เรากำหนด “วัตถุ” ที่เราต้องการกล่าวถึง วัตถุคือกล่องจดหมาย Exchange
  • ส่วน B - ในส่วนนี้ เรากำหนดอักขระเฉพาะของคำค้นหาที่เราจำเป็นต้องดำเนินการ ตัวอย่างเช่น ค้นหารายการเมลที่มีสตริงข้อความเฉพาะ
  • ส่วน C - ในส่วนนี้ เรากำหนด "การกระทำ" เฉพาะเจาะจงที่เราต้องการนำไปใช้กับผลการค้นหาที่เราได้รับจากส่วนก่อนหน้า

ขอบเขตการค้นหา

คำว่า "ขอบเขตการค้นหา" เกี่ยวข้องกับกล่องจดหมาย Exchange ที่เรา "ที่อยู่" เมื่อเราดำเนินการค้นหา กล่องจดหมายเฉพาะหรือกล่องจดหมายที่กำหนดเป็น “กล่องจดหมายต้นทาง”

สถานการณ์ที่ 1 - การค้นหารายการเมล | กล่องจดหมาย Exchange เดียว

ในสถานการณ์สมมตินี้ ไวยากรณ์คำสั่ง PowerShell ถูกนำมาใช้ดังนี้:

Search-Mailbox <Source Mailbox> -SearchQuery

สถานการณ์ที่ 2 - การค้นหารายการเมล | กล่องจดหมาย Exchange หลายกล่อง

ในสถานการณ์สมมตินี้ ไวยากรณ์คำสั่ง PowerShell ถูกนำมาใช้โดย "ประกาศ" ขอบเขตการค้นหา ซึ่งหมายถึงกล่องจดหมาย Exchange ที่จะดำเนินการค้นหา

จากนั้นเรา "ไปป์" กลุ่มกล่องจดหมาย Exchange ไปยังคำสั่ง Search-Mailbox 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 PowerShell cmdlet รองรับไวยากรณ์ที่มีประสิทธิภาพมากซึ่งกำหนดคำค้นหา (ตัวกรองการค้นหาหรือเกณฑ์การค้นหา)

คำค้นหาถูกนำมาใช้โดยใช้พารามิเตอร์ - คำค้นหา + ตัวกรองเฉพาะที่เราต้องการใช้

ตัวกรองการค้นหาสามารถใช้เป็นคำค้นหาธรรมดาหรือเป็นคำค้นหาขั้นสูงที่เขียนด้วยภาษา KQL

ตัวอย่างที่ 1 - ค้นหารายการเมลประเภทใดประเภทหนึ่ง

เราสามารถกำหนดตัวกรองการค้นหาที่จะค้นหาเฉพาะรายการเมลบางประเภทเท่านั้น

ตัวอย่างเช่น,

หากต้องการค้นหาเฉพาะรายการ ปฏิทิน เราสามารถกำหนดคำค้นหาโดยใช้ไวยากรณ์ต่อไปนี้:

Search-Mailbox <Source Mailbox> -SearchQuery "Kind: meetings"

หากต้องการค้นหาเฉพาะรายการ ที่อยู่ติดต่อ เราสามารถกำหนดคำค้นหาโดยใช้ไวยากรณ์ต่อไปนี้

Search-Mailbox <Source Mailbox> -SearchQuery "Kind: contacts"

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

ในกรณีที่เราต้องการกรองผลการค้นหาโดยกำหนดผู้ส่งหรือผู้รับเฉพาะ เราสามารถใช้ไวยากรณ์ต่อไปนี้

ค้นหารายการเมลที่ส่งโดยผู้ส่งเฉพาะ:

Search-Mailbox <Source Mailbox> -SearchQuery from:"<E-mail address>"

ค้นหารายการเมลที่ส่งถึงผู้รับเฉพาะ:

Search-Mailbox <Source Mailbox> -SearchQuery to:"<E-mail address>"

ตัวอย่างที่ 3 - การค้นหารายการเมลที่ส่งในวันที่ระบุ

เราสามารถใช้คำค้นหาที่เกี่ยวข้องกับ "วันที่" ของรายการเมลได้

ตัวอย่างเช่น

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

Search-Mailbox <Source Mailbox> -SearchQuery sent:mm/dd/yyyy

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

Search-Mailbox <Source Mailbox> -SearchQuery {sent:mm/dd/yyyy..mm/dd/yyyy}

ตัวอย่างที่ 4 - การค้นหารายการเมลที่มีไฟล์แนบ

ในกรณีที่ข้อมูลที่เราค้นหาเป็นรายการเมลพร้อมไฟล์แนบ เราสามารถใช้คำค้นหาต่อไปนี้:

ค้นหารายการเมลที่มีไฟล์แนบเฉพาะ (ชื่อไฟล์แนบ):

Search-Mailbox <Source Mailbox> -SearchQuery attachment:"<Attachment file name>"

ค้นหารายการเมลใด ๆ ที่มีไฟล์แนบ:

Search-Mailbox <Source Mailbox> -SearchQuery {HasAttachment -eq $true}

ตัวอย่างที่ 5 - การค้นหารายการเมลที่มีสตริงข้อความเฉพาะ

หากต้องการค้นหาอีเมลด้วยสตริงข้อความในเมล SUBJECT เราสามารถกำหนดคำค้นหาโดยใช้ไวยากรณ์ต่อไปนี้

Search-Mailbox <Source Mailbox> -SearchQuery ‘Subject:"<Text String>"'

หากต้องการค้นหาอีเมลด้วยสตริงข้อความในเมล BODY เราสามารถกำหนดคำค้นหาโดยใช้ไวยากรณ์ต่อไปนี้

Search-Mailbox <Source Mailbox> -SearchQuery Body:"<Text String>"'

Search-Mailbox cmdlet และ "การกระทำ" ที่จำเป็น

เราสามารถกำหนด "การกระทำ" ได้สามประเภทที่คำสั่ง Search-Mailbox PowerShell จะดำเนินการ:

  1. สร้างไฟล์บันทึก - ตัวเลือกนี้สามารถใช้ได้ในกรณีที่เราไม่ต้องการรับสำเนารายการเมล (ผลการค้นหา) แต่เป็นเพียง “รายงาน” (บันทึก) ที่มีข้อมูลเกี่ยวกับรายการเมลแทน ที่ถูกค้นพบ
  2. คัดลอกรายการเมล (ผลการค้นหา) ไปยังกล่องจดหมาย "อื่น" - ตัวเลือกนี้สามารถใช้ในสถานการณ์ที่เราต้องการกู้คืนหรือบันทึกรายการเมลที่ปรากฏในผลการค้นหา
  3. ลบรายการเมลที่สร้างขึ้น - ตัวเลือกนี้สามารถใช้ในสถานการณ์ที่เราต้องการ "ทำลาย" (ลบ) รายการเมลที่ระบุ ตัวอย่างเช่น สถานการณ์ที่องค์กรของเราถูกไวรัสโจมตี และเราต้องการค้นหารายการเมลที่ติดไวรัสทั้งหมดแล้วลบทิ้ง

นอกจากนี้เรายังสามารถเลือกที่จะ "รวม" "การกระทำ" บางอย่างได้ ตัวอย่างเช่น เราสามารถกำหนดการดำเนินการที่รายการเมลจะถูกลบออกจากกล่องจดหมายต้นทาง แต่นอกจากนี้ สำเนาของรายการเมลจะถูกบันทึกไว้ใน "กล่องจดหมายเป้าหมาย" + สร้างไฟล์บันทึกที่มีข้อมูลเกี่ยวกับแต่ละรายการ รายการเมลที่ปรากฏในผลการค้นหา

แนวคิดของ “กล่องจดหมายต้นทาง” และ “กล่องจดหมายเป้าหมาย”

แนวคิดที่สำคัญของ Search-Mailbox PowerShell cmdlet คือแนวคิดของ:

  1. กล่องจดหมายต้นทาง
  2. กล่องจดหมายเป้าหมาย
  3. โฟลเดอร์เป้าหมาย

ดังที่กล่าวไว้ เวลาส่วนใหญ่การทำงานของ “ผลการค้นหา ” จะถูกแปลเป็นไฟล์บันทึกหรือเป็น คัดลอก ของรายการเมลที่พบในกระบวนการค้นหา .

เพื่อให้สามารถ “จัดเก็บ ” “ผลการค้นหา ” (ไฟล์บันทึกหรือรายการเมลที่พบ) เราจำเป็นต้องกำหนด “ร้านค้าเป้าหมาย” ซึ่งหมายถึง - กล่องจดหมายเป้าหมาย.
นอกจากนี้ เราจำเป็นต้องกำหนด โฟลเดอร์เป้าหมาย ที่จะถูกสร้างขึ้น และที่จะมีผลการค้นหา

Search-Mailbox cmdlet จะต้อง "รู้" - กล่องจดหมายต้นทาง คืออะไร กล่องจดหมายเป้าหมาย คืออะไร (ที่จะจัดเก็บการค้นหา ผลลัพธ์) และชื่อของ โฟลเดอร์เป้าหมาย คืออะไร

โฟลเดอร์เป้าหมาย

เนื่องจากเราระบุชื่อของชื่อ โฟลเดอร์เป้าหมาย แล้ว cmdlet Search-Mailbox จะสร้างโฟลเดอร์ใหม่นี้ใน กล่องจดหมายเป้าหมาย

ตัวอย่างของไวยากรณ์ PowerShell ที่เราใช้เพื่อกำหนด "เอนทิตี" เหล่านี้อาจเป็น:

Search-Mailbox <Source Mailbox> -TargetMailbox <Target mailbox> -TargetFolder <Target Folder>

แบบแผนและโครงสร้างการตั้งชื่อโฟลเดอร์เป้าหมาย

ตามที่กล่าวไว้ Search-Mailbox cmdlet จะสร้าง โฟลเดอร์เป้าหมาย (ขึ้นอยู่กับชื่อโฟลเดอร์เป้าหมายที่เราระบุให้เป็นส่วนหนึ่งของคำสั่ง PowerShell) ใน กล่องจดหมายเป้าหมาย . โฟลเดอร์เป้าหมายทำหน้าที่เป็น "ร้านค้า" สำหรับผลการค้นหาและมีลำดับชั้นที่เฉพาะเจาะจง

ในแผนภาพต่อไปนี้ เราจะเห็นโครงสร้างของ โฟลเดอร์เป้าหมาย

ชื่อที่ระบุโฟลเดอร์เป้าหมาย

นี่คือชื่อที่เราระบุให้เป็นส่วนหนึ่งของพารามิเตอร์บังคับของคำสั่ง Search-Mailbox

กล่องจดหมายชื่อที่แสดง + วันที่ค้นหาปัจจุบัน

“ภายใต้ ” ชื่อของโฟลเดอร์เป้าหมาย Search-Mailbox cmdlet จะสร้างลำดับชั้นต่อไปนี้:

กล่องจดหมายต้นทาง “ชื่อที่แสดง” + เวลาในการค้นหาปัจจุบัน

“ชื่อโฟลเดอร์” ที่เก็บผลการค้นหานั้นสร้างขึ้นจากชื่อที่แสดงของกล่องจดหมายต้นทาง + เวลาในการค้นหาปัจจุบัน

โปรดสังเกตว่า “เวลา” ที่ปรากฏเป็นส่วนหนึ่งของชื่อโฟลเดอร์ถือเป็น “GMT +0”

ความหมายก็คือในสถานการณ์ส่วนใหญ่ ผลการค้นหา "เวลา" ที่ปรากฏเป็นส่วนหนึ่งของชื่อโฟลเดอร์เป็นเวลาที่แตกต่างจากเวลา \local ปัจจุบันของคุณ

ในกรณีที่คุณต้องการปรับเวลาตามเขตเวลาท้องถิ่นของคุณ คุณจะต้องเพิ่มหรือลบชั่วโมงตาม GMT ท้องถิ่นของคุณ

ตัวอย่างเช่น เขตเวลาของฉันคือ GMT+3

ในภาพหน้าจอต่อไปนี้ เราจะเห็นว่าเวลาที่กล่าวถึงคือ 10:13
ในสถานการณ์ของฉัน “เรียลไทม์ ” คือ 13:13 (10:13 + 3 ชั่วโมง)

ชื่อโฟลเดอร์ - กล่องจดหมายหลัก

Search-Mailbox cmdlet สร้างโฟลเดอร์ชื่อ - กล่องจดหมายหลัก

คำนี้เกี่ยวข้องกับ “กล่องจดหมายของผู้ใช้มาตรฐาน” ซึ่งกำหนดเป็น - กล่องจดหมายหลัก

เหตุผลที่ Search-Mailbox cmdlet อ้างถึงกล่องจดหมายมาตรฐานโดยเฉพาะก็คือ ตามทฤษฎีแล้ว ผู้ใช้ Exchange สามารถมีกล่องจดหมายเพิ่มเติมหรือกล่องจดหมายรองซึ่งอธิบายว่าเป็นกล่องจดหมายเก็บถาวร

ภายใต้กล่องจดหมายหลัก เราจะพบผลการค้นหา (สำเนาของรายการเมลต้นฉบับจากกล่องจดหมายต้นทาง) Search-Mailbox cmdlet จะคงลำดับชั้นของโฟลเดอร์เดียวกันกับที่ปรากฏใน "กล่องจดหมายต้นทาง"

รายการที่สามารถกู้คืนได้

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

ในกรณีที่ผลการค้นหารวมรายการเมลที่จัดเก็บไว้ในโฟลเดอร์เมลการกู้คืน (Dumpster) จะมีการสร้างโฟลเดอร์ใหม่ชื่อ - รายการที่กู้คืนได้

หมายเหตุ - เจ้าของกล่องจดหมายไม่สามารถมองเห็นโฟลเดอร์อีเมลการกู้คืน (Dumpster) ได้ เนื่องจากนี่เป็นโฟลเดอร์ที่ซ่อนอยู่ เฉพาะผู้ดูแลระบบ Exchange ที่ดำเนินการค้นหาเท่านั้นที่มี "สิทธิ์" เพื่อดูโฟลเดอร์นี้และเนื้อหาโฟลเดอร์เป็นส่วนหนึ่งของผลการค้นหาที่เก็บไว้ในกล่องจดหมายเป้าหมาย (ในโฟลเดอร์เป้าหมาย)

ชื่อโฟลเดอร์ - เก็บกล่องจดหมาย

ชื่อโฟลเดอร์นี้ “ปรากฏ” เฉพาะในสถานการณ์ที่ กล่องจดหมายต้นทาง มีการเก็บถาวร (กล่องจดหมายเพิ่มเติม)

ในกรณีนี้ Search-Mailbox cmdlet จะจัดเก็บผลการค้นหาที่พบในที่เก็บถาวรของกล่องจดหมายต้นทาง

กล่องจดหมายต้นทาง “ช่องว่าง” หรือ “ขอบเขต”

ในส่วนนี้ ฉันอยากจะทบทวนโดยย่อว่า cmdlet Search-Mailbox เกี่ยวข้องกับ "ช่องว่าง" ของกล่องจดหมายต้นทางอย่างไร

Search-Mailbox cmdlet กำหนด "ช่องว่าง" ของกล่องจดหมาย Exchange

  1. พื้นที่กล่องจดหมายหลัก
  2. พื้นที่โฟลเดอร์จดหมายกู้คืน (Dumpster)
  3. พื้นที่กล่องจดหมายเก็บถาวร

ตามค่าเริ่มต้น Search-Mailbox cmdlet จะค้นหา (ค้นหา) รายการเมลในทั้งสามส่วนข้างต้น

ในบางสถานการณ์ เราจะต้องสั่งให้ Search-Mailbox cmdlet “ละเว้น” หนึ่งใน “ช่องว่าง” เหล่านั้น หรือให้ “มีสมาธิ” เฉพาะใน “ช่องว่าง” ที่ระบุเท่านั้น

ตัวอย่างที่ 1 - ทำการค้นหาเฉพาะในโฟลเดอร์เมลการกู้คืน (SearchDumpsterOnly)

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

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

Search-Mailbox <Source Mailbox> -SearchDumpsterOnly

ตัวอย่างที่ 2 - ทำการค้นหาเฉพาะในโฟลเดอร์เมลการกู้คืน (SearchDumpsterOnly)

ในกรณีนี้ เราต้องการดำเนินการค้นหากล่องจดหมาย แต่เราไม่ต้องการให้การค้นหาทำงานในโฟลเดอร์อีเมลการกู้คืน (Dumpster) ของกล่องจดหมายต้นทาง

หากต้องการแยกโฟลเดอร์จดหมายกู้คืน (Dumpster) ออกจากผลการค้นหา เราสามารถใช้พารามิเตอร์ SearchDumpster:$False

ตัวอย่างเช่น:

Search-Mailbox <Source Mailbox> -SearchDumpster:$false

ในกรณีที่คุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับ “โฟลเดอร์เมลการกู้คืน” คุณสามารถอ่านบทความ - กู้คืนรายการเมลที่ถูกลบในสภาพแวดล้อม Exchange Online | การกู้คืนรายการเดียว | 2#7

ตัวอย่างที่ 3 - ทำการค้นหาเฉพาะในกล่องจดหมายหลัก

ในกรณีที่ผู้ใช้มีกล่องจดหมายเก็บถาวร และเราต้องการแยกกล่องจดหมายเก็บถาวรออกจากกระบวนการค้นหา เราสามารถใช้พารามิเตอร์นั้น DoNotIncludeArchive

ตัวอย่างเช่น:

Search-Mailbox <Source Mailbox> -DoNotIncludeArchive

Search-Mailbox cmdlet และการอนุญาตที่จำเป็น

การใช้ Search-Mailbox cmdlet สำหรับ "การสอดแนม" กล่องจดหมาย Exchange ต้องได้รับอนุญาตพิเศษ เนื่องจากจาก "มุมมองความเป็นส่วนตัวของข้อมูล" เรากำลังดูข้อมูลส่วนตัวของผู้ใช้ ในกรณีที่เราใช้ Search-Mailbox cmdlet เพื่อลบรายการอีเมล เรากำลังลบข้อมูลส่วนตัวของผู้ใช้

หากต้องการกำหนดบทบาทให้กับผู้ใช้โดยตรงผ่าน PowerShell ให้รันคำสั่ง PowerShell ต่อไปนี้:

New-ManagementRoleAssignment -Role "Mailbox Import Export" -User "<user name or alias>"
New-ManagementRoleAssignment -Role "Mailbox Search" -User "<user name or alias>"

Search-Mailbox cmdlet และข้อจำกัด

Search-Mailbox cmdlet มีข้อจำกัดสองประการที่เราควรรู้

1. “กล่องจดหมายต้นทางสูงสุด
CMdlet ค้นหากล่องจดหมาย สามารถทำการค้นหากล่องจดหมายหลายกล่องได้สูงสุด 10,000 กล่องจดหมาย

2. ผลลัพธ์การค้นหาสูงสุดเมื่อใช้คำค้นหา
เมื่อเราใช้ cmdlet Search-Mailbox + คำค้นหา ซึ่งหมายถึงการใช้พารามิเตอร์ -SearchQuery ผลลัพธ์คือ จำกัดผลลัพธ์สูงสุด 10,000 รายการ

เมื่อเราเรียกใช้ Search-Mailbox cmdlet คำเตือนต่อไปนี้จะปรากฏขึ้น:

คำเตือน: Search-Mailbox cmdlet ส่งกลับผลลัพธ์สูงสุด 10,000 ต่อกล่องจดหมายถ้ามีระบุคำค้นหา หากต้องการส่งคืนผลลัพธ์มากกว่า 10,000 รายการ ให้ใช้ New-MailboxSearch cmdlet หรือคอนโซล eDiscovery & Hold ในตำแหน่งใน Exchange Administration Center

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