如何获取交换电子邮件队列的通知

时间:2018-10-20 12:49:34

标签: powershell exchange-server exchange-management-shell

我想在我的交换队列达到最大消息数时获得有关get-queue的完整详细信息的通知,这是我现在可以获取的详细信息,但格式不正确。

function get_user_role($id) {
    $user = new WP_User($id);
    return array_shift($user->roles);
}

这是我收到通知时格式不清晰的输出:-

function check_queue
{
$a = get-queue | measure-object MessageCount -max
$b = Get-Queue | Out-File -filepath C:\getQueue.txt

if ($a.Maximum -gt 1000)
{
send_email $a.Maximum
}
}

function send_email
{param ($queue_size)

$emailFrom = "exchange@xyz.com"
$emailTo = "test@xyz.com"
$subject = "Exchange Max Mail QUEUE"
$body = Get-Queue | Out-String
$smtpServer = "mail.xyz.com"
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($emailFrom, $emailTo, $subject, $body)

}

check_queue

1 个答案:

答案 0 :(得分:0)

如果要在输出文件中包含对象的所有详细信息,则可以使用cmdlet格式。例如格式自定义,格式列表 $body = get-queue | format-list | out-string