比较powershell输出

时间:2016-12-29 17:06:33

标签: powershell office365

我们在公司使用helpedesk软件,它设置为从启用IMAP的邮箱中提取电子邮件。有时,服务台程序会起作用,并停止提取消息。服务和其他指标显示一切正常,但邮件将在我们的服务台邮箱中开始排队。

因此,我们希望监控邮箱中的项目计数以查看是否已备份,如果是,则发送自动电子邮件。

我可以使用此命令查询Office365上的邮箱存储。它返回隐藏项目的数量..在这种情况下为46.

Get-MailboxFolderStatistics -Identity support@mydomain.com -FolderScope Inbox | ?{$_.FolderPath -like '/Inbox'} | Select Name, ItemsInFolder

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

我不明白如何比较输出以查看它是否超过某个阈值,例如50.一旦超过阈值,我就可以采取行动,例如发送电子邮件或重新启动问题服务,等

2 个答案:

答案 0 :(得分:0)

# store what you need in a variable
# -ExpandProperty ensures you only get the value without the property name
$count = Get-MailboxFolderStatistics -Identity support@mydomain.com -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"
}

答案 1 :(得分:0)

所以你需要做的就是非常简单。首先将您已编写的cmdlet的结果存储在变量中,例如$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
}