0

表示されている私のpowershellコードによると、90日前から昨日までのすべてのアイテムを削除する必要があります。たとえば、今これを実行した場合、日付範囲は1/29/2014-になり4/28/2014ます。

$x = ((get-date).addDays(-90)).ToShortDateString()
$y = ((get-date).addDays(-1)).ToShortDateString()
$xy = "$($x)..$($y)"

Search-Mailbox bunnyb2 -SearchQuery "Received:$xy" -DeleteContent -Force

これにより、本来あるべきメールのほとんどが削除されます。((get-date).addDays(-1))ただし、メールボックスには削除されたすべてのメールが午後 7 時まで保持されます。削除する必要がある過去 5 時間の電子メールは削除されません。

最初は時間変換の問題かもしれないと思っていましたが、コマンドを実行しているマシンは米国中部にあり、メールボックス サーバーも米国中部です。


また、するように言わないでください"Search-Mailbox whismj-SearchQuery "Received:<$y" -DeleteContent -Force"。これは私にとってまったく別のワームの缶です。コードの実行中は、何も返されたり削除されたりしません。しかし、<昨日受信したすべてのメールを削除すると削除されます。

4

1 に答える 1

0

これは古い投稿であることは承知していますが、検索する人の助けになるかもしれません。

日付範囲全体にヒットするには、 -SearchQuery パラメーターに複数のオプションを指定する必要があります (完全なAQS クエリが必要です)。ドキュメントにリストされていても、あなたが使用している構文を使用することはできませんでした。明示的な時間を追加すると、2 つの Received ブロックを組み合わせようとする代わりに使用するときにうまくいくようです。

2015 年 1 月にすべてのメールを取得するには、次の方法を試してください。

-SearchQuery "Received: > $('01/01/2015 00:00:00') AND Received: < $('01/31/2015 23:59:59')

于 2015-07-28T18:44:29.340 に答える