2017-08-05 14 views
1

Office 365のセキュリティ&準拠センターを使用してComplianceSearchを実行し、ソフト削除を使用して問題のメールを削除しています。完了したら、同じ検索を実行して電子メールが削除されたことを確認しますが、検索クエリの結果と同じ数の結果が表示されます。これは、ソフト削除によって電子メールがリカバリ可能なアイテムフォルダに移動するためです。私の質問は、回復可能なアイテムフォルダを除外してNew-ComplianceSearchを作成するにはどうすればいいですか?New-ComplianceSearchから回復可能なアイテムフォルダを除外します

更新 Matthewは以下の正しい方向に私を指摘しました。

# Collect the target email address 
$addressOrSite = Read-Host "Enter an email address" 

# Authenticate with Exchange Online and the Security & Complaince Center (Exchange Online Protection - EOP) 
if (!$credentials) 
{ 
    $credentials = Get-Credential 
} 

if ($addressOrSite.IndexOf("@") -ige 0) 
{ 
    # List the folder Ids for the target mailbox 
    $emailAddress = $addressOrSite 

    # Authenticate with Exchange Online 
    if (!$ExoSession) 
    { 
     $ExoSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell-liveid/ -Credential $credentials -Authentication Basic -AllowRedirection 
     Import-PSSession $ExoSession -AllowClobber -DisableNameChecking 
    } 

    $folderQueries = @() 
    $folderStatistics = Get-MailboxFolderStatistics $emailAddress 
    foreach ($folderStatistic in $folderStatistics) 
    { 
     $folderId = $folderStatistic.FolderId; 
     $folderPath = $folderStatistic.FolderPath; 

     $encoding= [System.Text.Encoding]::GetEncoding("us-ascii") 
     $nibbler= $encoding.GetBytes("ABCDEF"); 
     $folderIdBytes = [Convert]::FromBase64String($folderId); 
     $indexIdBytes = New-Object byte[] 48; 
     $indexIdIdx=0; 
     $folderIdBytes | select -skip 23 -First 24 | %{$indexIdBytes[$indexIdIdx++]=$nibbler[$_ -shr 4];$indexIdBytes[$indexIdIdx++]=$nibbler[$_ -band 0xF]} 
     $folderQuery = "folderid:$($encoding.GetString($indexIdBytes))"; 

     $folderStat = New-Object PSObject 
     Add-Member -InputObject $folderStat -MemberType NoteProperty -Name FolderPath -Value $folderPath 
     Add-Member -InputObject $folderStat -MemberType NoteProperty -Name FolderQuery -Value $folderQuery 

     $folderQueries += $folderStat 
    } 
    Write-Host "-----Exchange Folders-----" 
    $folderQueries |ft 
} 

あなたは、あなたの検索からフォルダを削除するには、これらのFolderIDsを使用することができます(下記)あなたが指定したメールボックスの欠失は、回復可能なアイテム、およびパージフォルダのフォルダIDを取得することができますスクリプトhereを使用して。たとえば:

New-ComplianceSearch -Name test123 -ExchangeLocation [email protected] -ContentMatchQuery "subject:'some subject' AND NOT ((folderid:3F4BE1AEF6C6BB45B8F8EEFE472A7E5C0000000001130000) OR (folderid:3F4BE1AEF6C6BB45B8F8EEFE472A7E5C0000000001140000) OR (folderid:3F4BE1AEF6C6BB45B8F8EEFE472A7E5C0000000001160000))" 

答えて

1

セキュリティ&コンプライアンスセンターからフォルダを除外するための鍵は、フォルダIDプロパティです。このサイトでは、この上の文書およびその他のプロパティを見つけることができます。

https://support.office.com/en-us/article/Keyword-queries-and-search-conditions-for-Content-Search-c4639c2e-7223-4302-8e0d-b6e10f1c3be3?ui=en-US&rs=en-US&ad=US

あなたがそのリンクにフォルダIDを検索する場合は、特定のメールボックスのFolderIDsを取得する方法について文書への別のリンクを見つけるだろう、それを行うためのPowerShellコードが含まれています。そのリンクは次のとおりです。何をしようとする

https://support.office.com/en-us/article/Use-Content-Search-in-Office-365-for-targeted-collections-e3cbc79c-5e97-43d3-8371-9fbc398cd92e?ui=en-US&rs=en-US&ad=US#step1

、実際には4つの別々のフォルダを除く含み、回復可能なアイテムを除外する:

/Recoverable Items 
/Deletions 
/Purges 
/Versions 

これらのフォルダのそれぞれが関連したフォルダIDを持っています。一例として...

/Recoverable Items folderid:FDB58AF45BAF2F4A8CFD98F5396C6EB0000000001140000 
/Deletions   folderid:FDB58AF45BAF2F4A8CFD98F5396C6EB0000000001150000 
/Purges    folderid:FDB58AF45BAF2F4A8CFD98F5396C6EB0000000001170000 
/Versions   folderid:FDB58AF45BAF2F4A8CFD98F5396C6EB0000000001160000 

上記の2番目のリンクからの値を使用して...あなたはこれらのフォルダを除外するために、あなたのキーワード検索にこのような何かを追加することができます。もちろん

NOT ((folderid:FDB58AF45BAF2F4A8CFD98F5396C6EB0000000001140000) OR (folderid:FDB58AF45BAF2F4A8CFD98F5396C6EB0000000001150000) OR (folderid:FDB58AF45BAF2F4A8CFD98F5396C6EB0000000001170000) OR (folderid:FDB58AF45BAF2F4A8CFD98F5396C6EB0000000001160000)) 

を、これを行う各メールボックスから4つのフォルダの実際の値を取得する必要があります。また、フォルダを除外するとではなく、はそのサブフォルダを除外します...除外または除外の対象とする各フォルダと各サブフォルダのFolderID値を使用する必要があります。

希望すると便利です。

+0

ありがとうございます。これは有望です。私はそれをすぐに見て、うまくいけば何かを考え出すだろうが、それはちょっとした作業がかかるように思える。不思議なことに、O365テナントのすべてのメールボックスから迷惑メールと悪意のある電子メールを削除するPowerShellスクリプトを作成しています。https://github.com/jdgregson/Delete-Emails-O365/blob/master/Delete-Emails .ps1。これまでのところ非常に効果的ですが、電子メールが削除済みアイテムフォルダに移動したことを確認できないという問題が1つあります。 – jdgregson

関連する問題