Тематические термины: Exchange , Powershell .
При нарушении состояния индекса в MS Exchange будут наблюдаться проблемы при поиске в Outlook — среди результатов будут отображаться письма до определенной даты. При возникновении проблемы, необходимо переиндексировать базу . Но получать информацию о проблеме лучше самостоятельно, а не от пользователей системы.
Описанный скрипт, позволит проверить корректность индекса и, в случае проблем, отправить письмо администратору.
Перед запуском скрипта открываем powershell и выполняем:
read-host -assecurestring | convertfrom-securestring | out-file C:Scriptspassword.txt
Система запросит ввести пароль — введите пароль администратора Exchange (пользователя, из под которого будем подключаться к почтовому серверу); после данный пароль будет сохранен в виде хэш-суммы в файл C:Scriptspassword.txt .
1 | Переменная, содержащая имя пользователя, под которым подключаемся к Exchange. |
2 | Пароль пользователя Exchange. |
3 | Определяем пустую переменную — в нее будем помещать базы с проблемами. |
5 — 7 | Подключаемся к консоли Exchange, используя логин и пароль, определенные на строках 1 и 2. mx.remontka.com — имя сервера Exchange. |
9 — 14 | Функция отправки сообщения. |
10 | Переменная с email адресом администратора, которому будут отправляться уведомления. |
11 | Адрес, от которого отправляются письма. |
12 | Кодировка сообщения. |
13 | Собственно, отправка письма функцией Send-MailMessage. В качестве текста сообщения берется переменная $bodyMessage , значение для которой передается функции. |
16 — 26 | Поиск всех баз данных и определение их состояния. Предусмотрено использование DAG-групп. Если последние не используются, скрипт можно немного сократить, оставив строки 18 — 24, а также заменив $_ в 18-й строке на имя сервера Exchange. |
16 | Получаем все группы DAG. |
17 | Получаем список всех серверов Exchange с DAG группами. |
18 | Запрашиваем статус всех баз, которые находятся на сервере $_. |
19 | Проверяем условие, если статус не в рабочем состоянии. |
20 — 21 | Определяем переменные и записываем в них значения имени базы и состояния. |
22 | Добавляем в переменную $base_failed строку с именем базы и ее состоянием. |
28 — 30 | Если переменная $base_failed не пустая, выполняем функцию Send-Alert , то есть, отправляем сообщение. |
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…