รายการที่ส่งไปยังผู้รับภายใน และภายนอกไม่พบกับ "ไม่รับ" โดย eDiscovery ใน 2013 อัตราแลกเปลี่ยน

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2977178
อาการ
สมมติว่า คุณสร้างการค้นหา eDiscovery ในตำแหน่งในในอัตราแลกเปลี่ยน Admin ศูนย์ (EAC) เมื่อต้องการส่งคืนสินค้าที่จะถูกส่งไปยังผู้รับภายนอก โดยระบุ ผู้รับไม่: "internalDomain" เงื่อนไขในการค้นหา ในสถานการณ์นี้ ค้นหาไวยากรณ์ส่งคืนสินค้าที่จะส่งให้ผู้รับภายนอก แต่ไม่ได้รวมสินค้าที่มีผู้รับภายใน และภายนอก
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจาก eDiscovery ใช้คำสำคัญแบบสอบถามภาษา (KQL) ที่ใช้ตรรกะบูลีน ดังนั้นไม่รับ: "internalDomain"ไม่ได้รวมสินค้าทั้งหมดที่ประกอบด้วยผู้รับภายในผิด แม้แต่สินค้าที่ยัง มีการผู้รับภายนอก

หมายเหตุ การออกแบบปัจจุบันไม่มีฟังก์ชันการทำงานสลวยยิ่งผ่าน EAC
การหลีกเลี่ยงปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ คุณสามารถใช้หนึ่งในวิธีต่อไปนี้

วิธีที่ 1: ใช้ EWSEditor

ฟรีแวร์เป็น EWSEditor แอพลิเคชันจะพร้อมใช้งานเมื่อต้องการหลีกเลี่ยงปัญหานี้ ไม่มีหน้าต่าง eDiscovery ซึ่งสามารถใช้เพื่อค้นหารายการ

หมายเหตุ คุณต้องตั้งค่าบัญชีถูกใช้ให้กับบทบาท RBAC ตรวจสอบเพื่อทำการค้นหาเหล่านี้

วิธีที่ 2: ใช้ API แตกต่างกัน

ใช้ API แตกต่างกันที่สามารถอาศัย KQL คุณต้องสร้างการแก้ไขปัญหาแบบกำหนดเอง โดยใช้โปรแกรมอื่น เช่นบริการการเว็บ Exchange (EWS) โซลูชันนี้สามารถดึงข้อมูลบางส่วนของข้อมูล (ชุดข้อมูลใหญ่ขึ้น) โซลูชันสามารถดำเนินการเพิ่มเติมได้รับผลลัพธ์ โดยใช้ตรรกะภายนอกจะมาถึงชุดของข้อความที่ตรงกับที่ต้องการผู้รับไม่: "internalDomain" เงื่อนไขตามที่คุณจะแปลวันดังกล่าว
สำหรับรหัสของข้อความดังกล่าวจะไปข้างหน้า แก้ไขปัญหาได้ดียิ่งขึ้นจะเป็นการ ใช้กฎการขนส่งที่ไม่สามารถส่งสำเนาของรายการดังกล่าว (ผู้รับภายใน และภายนอก) ไปยังกล่องจดหมายการตรวจสอบ

ต่อไปนี้คือ ตัวอย่างรหัสเพื่อหลีกเลี่ยงปัญหานี้ โดยการใช้ API ที่มีจัดการของ EWS

หมายเหตุ ในตัวอย่างนี้รหัส แทน InternalDomain1.com, InternalDomain2.com, InternalDomain3.com ด้วยชื่อโดเมนภายในของคุณ ตัวยึดนี้ปรากฏในตำแหน่งที่ตั้งที่สามในโค้ด

ตัวอย่างรหัส

<#AQS search using EWS Managed APIUSAGE: .\Search-Mailbox.ps1 -MailboxName mbx@domain.com -AqsString "(""Test"")"#> [CmdletBinding()]param ( [Parameter(Position=0,Mandatory=$True,HelpMessage="Mailbox SMTP format")] [ValidateNotNullOrEmpty()] [string]$MailboxName,  [Parameter(Position=1,Mandatory=$True,HelpMessage="AQS QueryString")] [ValidateNotNullOrEmpty()] [string]$AqsString )######################################################################## Update EWS DLL Folder,$domain, $account, $pwd and $exserver Values########################################################################$resultFL = "C:\Scripts\Result"$domain = "SEARCH"$account = "MailboxSearch@domain.com";$pwd = '123'$exServer = "exch01search.net"$EWSManagedApiPath = "C:\scripts\Microsoft.Exchange.WebServices.dll"########################################################################$LogFile_All = "$($resultFL)\$($Mailboxname)_All.txt"$LogFile_Filtr = "$($resultFL)\$($Mailboxname)_Filtered.txt"$LogFile_Itype = "$($resultFL)\$($Mailboxname)_ItemTypes.txt"$StopWatch = New-Object system.Diagnostics.Stopwatch$StopWatch.Start()Add-Type -Path $EWSManagedApiPath$service = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2010_SP2)$service.Credentials= new-object Microsoft.Exchange.WebServices.Data.WebCredentials($account,$pwd,$domain)$service.UseDefaultCredentials = $false$UseAutoDiscover = $false$service.Url = new-object uri("https://domain.com/EWS/Exchange.asmx")$ImpersonatedUserId = new-object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::SmtpAddress,$MailboxName);$service.ImpersonatedUserId = $ImpersonatedUserId#Define Extended properties$PR_Folder_Path= new-object Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition(26293, [Microsoft.Exchange.WebServices.Data.MapiPropertyType]::String);$PR_FOLDER_TYPE = new-object Microsoft.Exchange.WebServices.Data.ExtendedPropertyDefinition(13825,[Microsoft.Exchange.WebServices.Data.MapiPropertyType]::Integer);$folderidcnt = new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::MsgFolderRoot,$MailboxName)#Define the FolderView used for Export should not be any larger then 1000 folders due to throttling$fvFolderView =  New-Object Microsoft.Exchange.WebServices.Data.FolderView(1000)#Deep Transval will ensure all folders in the search path are returned$fvFolderView.Traversal = [Microsoft.Exchange.WebServices.Data.FolderTraversal]::Deep;$pSchPropSet= new-object Microsoft.Exchange.WebServices.Data.PropertySet([Microsoft.Exchange.WebServices.Data.BasePropertySet]::FirstClassProperties)$pSchPropSet.Add($PR_Folder_Path)$fvFolderView.PropertySet = $pSchPropSet#The Search filter will exclude any Search Folders$sfSearchFilter = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo($PR_FOLDER_TYPE,"1")$fiResult = $null$MsgPropSet = New-Object Microsoft.Exchange.WebServices.Data.PropertySet$MsgPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::Id)$MsgPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::ParentFolderId)$MsgPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::ItemClass)$MsgPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::Subject)$MsgPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::DateTimeSent)$MsgPropSet.Add([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::Sender)$MsgPropSet.Add([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::ToRecipients)$MsgPropSet.Add([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::ccRecipients)$MsgPropSet.Add([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::BccRecipients)$AptPropSet = New-Object Microsoft.Exchange.WebServices.Data.PropertySet$AptPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::Id)$AptPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::ParentFolderId)$AptPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::ItemClass)$AptPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::Subject)$AptPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::DateTimeSent)$AptPropSet.Add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::Organizer)$AptPropSet.Add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::RequiredAttendees)$AptPropSet.Add([Microsoft.Exchange.WebServices.Data.AppointmentSchema]::OptionalAttendees)$SchPropSet = New-Object Microsoft.Exchange.WebServices.Data.PropertySet$SchPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::Id)$SchPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::ParentFolderId)$SchPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::ItemClass)$SchPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::Subject)$SchPropSet.Add([Microsoft.Exchange.WebServices.Data.ItemSchema]::DateTimeSent)$SchPropSet.Add([Microsoft.Exchange.WebServices.Data.MeetingRequestSchema]::Organizer)$SchPropSet.Add([Microsoft.Exchange.WebServices.Data.MeetingRequestSchema]::RequiredAttendees)$SchPropSet.Add([Microsoft.Exchange.WebServices.Data.MeetingRequestSchema]::OptionalAttendees)#Write-host "Checking Mailbox: $($MailboxName)"#Write-host "Searching QueryString: $($AqsString)"#The Do loop will handle any paging that is required if there are more the 1000 folders in a mailbox$ic=0$fic=0do {    $fiResult = $Service.FindFolders($folderidcnt,$sfSearchFilter,$fvFolderView)    #$fiResult.Folders.Count    foreach($ffFolder in $fiResult.Folders){       # "Processing : " + $ffFolder.displayName       $fpath =  $ffFolder.ExtendedProperties[0].Value        $fic++       $fiItems = $null       $ItemView = New-Object Microsoft.Exchange.WebServices.Data.ItemView(1000)       do{         Write-Progress -Activity "Processing $($MailboxName) - QueryString $($AqsString)" -Status $ffFolder.DisplayName -PercentComplete ($fic/$fiResult.Folders.Count*100)   $fiItems = $ffFolder.findItems($AqsString,$ItemView)         $ic = $ic + $fiItems.items.count         $ItemView.offset += $fiItems.Items.Count   foreach($Item in $fiItems.Items){            $itype = "$($item.ItemClass)`t$($Item.id.UniqueId)"            Add-content -Value $itype -Path $LogFile_Itype            $result=""            switch ($item.ItemClass)            {                "IPM.Note" {                            $Item.Load($MsgPropSet)                            $MT = @() # Create a MAPITABLE to filter external Domains                            $eRecipients=""                            $result = "$($mailboxname)`t$($fpath)`t$($Item.Sender.Name)`t$($Item.DateTimeSent)`t$($Item.Subject)`t$($Item.id.UniqueId)`t$($item.ItemClass)"                            Add-content -Value $result -Path $LogFile_All                            $item.ToRecipients | %{If($_.RoutingType -ne "EX"){$mt+=$_.Address}}                            $item.ccRecipients | %{If($_.RoutingType -ne "EX"){$mt+=$_.Address}}                            $item.BccRecipients | %{If($_.RoutingType -ne "EX"){$mt+=$_.Address}}                            $er=@()<#Replace InternalDomain1.com, InternalDomain2.com, InternalDomain3.com with your internal domain name.#>                            $mt | %{if($_ -notmatch 'InternalDomain1.com|InternalDomain2.com|InternalDomain3.com'){                                        $eRecipients = $true                                        $er +=$_                                        }                                    }                            }                                 "IPM.Appointment" {                            $Item.Load($AptPropSet)                            $MT = @() # Create a MAPITABLE to filter external Domains                            $eRecipients=""                            $result = "$($mailboxname)`t$($fpath)`t$($Item.Organizer.Name)`t$($Item.DateTimeSent)`t$($Item.Subject)`t$($Item.id.UniqueId)`t$($item.ItemClass)"                            Add-content -Value $result -Path $LogFile_All                            $item.RequiredAttendees | %{If($_.RoutingType -ne "EX"){$mt+=$_.Address}}                            $item.OptionalAttendees | %{If($_.RoutingType -ne "EX"){$mt+=$_.Address}}                            $er=@() <#Replace InternalDomain1.com, InternalDomain2.com, and InternalDomain3.com with your internal domain name.#>                            $mt | %{if($_ -notmatch 'InternalDomain1.com|InternalDomain2.com|InternalDomain3.com'){                                        $eRecipients = $true                                        $er +=$_                                        }                                    }                                                       }                                                    "IPM.Schedule.Meeting.Request" {                            $Item.Load($SchPropSet)                            $MT = @() # Create a MAPITABLE to filter external Domains                            $eRecipients=""                            $result = "$($mailboxname)`t$($fpath)`t$($Item.Organizer.Name)`t$($Item.DateTimeSent)`t$($Item.Subject)`t$($Item.id.UniqueId)`t$($item.ItemClass)"                            Add-content -Value $result -Path $LogFile_All                            $item.RequiredAttendees | %{If($_.RoutingType -ne "EX"){$mt+=$_.Address}}                            $item.OptionalAttendees | %{If($_.RoutingType -ne "EX"){$mt+=$_.Address}}                            $er=@()<#Replace InternalDomain1.com, InternalDomain2.com, InternalDomain3.com with your internal domain.#>                            $mt | %{if($_ -notmatch 'InternalDomain1.com|InternalDomain2.com|InternalDomain3.com'){                                        $eRecipients = $true                                        $er +=$_                                        }                                    }                            }                   Default {$eRecipients="";$result=""}             } #END Switch            If($eRecipients){                            $er = $er -join ";"                            $result="$($result)`t$($er)"                            Add-content -Value $result -Path $LogFile_Filtr                            }                      }  #End Foreach Items        }while($fiItems.MoreAvailable -eq $true)    }  #End Foreach Folders    $fvFolderView.Offset += $fiResult.Folders.Count}while($fiResult.MoreAvailable -eq $true)$StopWatch.Stop()write-host "Completed $($Mailboxname) in Seconds:" $StopWatch.Elapsed.TotalSeconds -ForegroundColor GreenWrite-Host "Total Items found:" $ic$StopWatch = $null


วิธีที่ 3: การตรวจสอบเชิงป้องกัน

สำหรับการระบุสินค้าที่มีผู้รับภายใน และภายนอก สร้างกฎการขนส่งที่สามารถส่งสำเนาของรายการดังกล่าวไปยังกล่องจดหมายการตรวจสอบ
สถานะ
Microsoft ยืนยันว่า นี่คือ โดยการออกแบบ
ข้อมูลเพิ่มเติม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ eDiscovery ในตำแหน่ง ไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ KQL ไปที่เว็บไซต์ของ Microsoft ต่อไปนี้:

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 2977178 - การตรวจสอบครั้งสุดท้าย: 03/05/2016 10:09:00 - ฉบับแก้ไข: 2.0

Microsoft Exchange Server 2013 Enterprise, Microsoft Exchange Server 2013 Standard

  • kbfix kbexpertiseadvanced kbsurveynew kbbug kbmt KB2977178 KbMtth
คำติชม