Не так давно мне достались в управление несколько серверов Exchange 2007. Когда понадобилось срочно наладить хоть какую-то систему мониторинга. Не секрет что в Exchange Management Shell есть множество командлетов для тестирования различных сервисов, все они начинаются с Test- и получить их список можно командой
get-excommand Test-*
Я решил использовать эти командлеты в скрипте который будет проверять доступность всех сервисов.
Я использовал следующий метод:
как я уже писал в предыдущем посте можно получить пароль пользователя в виде объекта PowerShell:
$pass = cat C:\scripts\securestring.txt | convertto-securestring
Записываем имя пользователя в переменную
$un = "username"
Используем эти переменные в качестве параметров для PSCredential
$mycred = new-object -typename System.Management.Automation.PSCredential
-argumentlist $un,$pass
Массив серверов который будет использоваться во время тестирования
$cas="server1","server2"
Массив url OWA:
$owaurl = "https://FQDN/owa","https://FQDN/owa"
Функция send-email, тут ее приводить не вижу смысла, легко ищется в интернетах, однако скажу что в качестве параметров функции передается заголовок и тело письма
function sndem { }
Следующие две функции выводят сообщения на консоль, если скрипт запускается не по шедулеру, а ради проверки.
#function errormsg {
# param($tstname,$trgt)
#
# Write-Host "Test " $tstname " on " $trgt", result: Fail" -foregroundcolor "red"
# }
#
#function successmsg {
# param([string]$tstname,[string]$trgt)
# Write-Host "Test" $tstname" on "$trgt", result: Success" -foregroundcolor "green"
#}
Ну теперь собственно основная функция скрипта
foreach ($siteurl in $owaurl) {
$tstowa = Test-OwaConnectivity -URL $siteurl -MailboxCredential $mycred
if ($tstowa.Result -like "Success" )
{
# successmsg "OWA connectivity" $siteurl //выводим сообщение на консоль
}
else
{
# errormsg "OWA connectivity" $siteurl
sndem "Test OWA failed!!!" $siteurl // посылаем сообщение при неудаче
}
}
Аналогично используются комндлеты test-imapconnectivity, test-popconnectivity и протчие.
Скрипт засовывается в шедулер, отрабатывает он примерно за минуту, частоту вы можете выставить сами.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий