2016-12-29 4 views
1

Мы используем программное обеспечение helpesk в нашей компании, и оно настроено на извлечение электронной почты из почтового ящика с поддержкой IMAP. Иногда программа helpdesk будет действовать и перестанет тянуть сообщения. Сервис и другие индикаторы показывают, что все работает нормально, но сообщения будут запущены в нашем почтовом ящике службы поддержки.Сравнение вывода 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 
}