2016-12-29 12 views
1

私たちは弊社でhelpedeskソフトウェアを使用しており、IMAP対応のメールボックスから電子メールを引き出すように設定されています。場合によっては、ヘルプデスクのプログラムが動作し、メッセージの取り込みを停止することがあります。サービスとその他のインジケータはすべて正常に動作していることを示していますが、メッセージはヘルプデスクのメールボックスでキューに入れられます。powershell出力の比較

メールボックス内のアイテム数を監視してバックアップされているかどうかを確認し、その場合は自動化された電子メールを送信したいと考えています。

このコマンドを使用すると、Office365のメールボックスストアを照会できます。それがしきい値を通過すると、それは、この場合、46

Get-MailboxFolderStatistics -Identity [email protected] -FolderScope Inbox | ?{$_.FolderPath -like '/Inbox'} | Select Name, ItemsInFolder 

Name ItemsInFolder 
---- ------------- 
Inbox   46 

私はそれはいくつかのしきい値を渡すかどうかを確認するために出力を比較する方法を理解していないに... 50などを隠されたアイテムの数を返します。電子メールの送信や問題のあるサービスの再起動などの措置を講じることができます。

答えて

0
# store what you need in a variable 
# -ExpandProperty ensures you only get the value without the property name 
$count = Get-MailboxFolderStatistics -Identity [email protected] -FolderScope Inbox | 
    Where-Object { $_.FolderPath -like "/Inbox" } | 
    Select-Object -ExpandProperty ItemsInFolder 

# compare and alert 
if($count -ge 50) { 
    "50 or more mails in Inbox, send alert mail" 
} 
0

ここで行う必要は非常に簡単です。すでに変数に書かれているコマンドレットの結果第一号店、など$items

$items = Get-MailboxFolderStatistics ... 

次に、あなたのしきい値に$items.itemsinfolderの値を比較

if($items.itemsinfolder -gt 50){ 
    send your email, you can access the $items.name property and include it in the body if that is helpful 
} 
関連する問題