Данный скрипт сначала найдет всех пользователей, у которых заканчивается выделенное дисковое пространство и автоматически расширит квоту. Его можно использовать в случаях, когда руководство еще не приняло решение относительно политик выделения пространства пользователям. Также можно автоматически расширять квоту, если пользователю было отправлено уведомление о нехватки места, но чистка не помогла, так как почти все письма нужны и удалять их нельзя.
Для подключения к Exchange необходимо вводить логин и пароль. Чтобы автоматизировать этот процесс и при этом не хранить пароль в открытом формате, сохраняем его в зашифрованном виде следующей командой:
> read-host -assecurestring | convertfrom-securestring | out-file C:Scriptspassword.txt
* после нажатия Enter система запросит ввести пароль, после чего она его зашифрует и сохранит в файл (в данном примере, C:Scriptspassword.txt ).
| 1 — 6 | Индивидуальные переменные. Для каждой среды и случая нужно менять только их, остальная часть скрипта не требует редактирования |
| 1 | Имя пользователя для подключения к Exchange Server |
| 2 | Пароль для подключения к Exchange Server. Читается хэш из файла |
| 3 | Имя почтового сервера к которому будем подключаться |
| 4 | Процент используемого пространства от 0 до 100, при превышении которого скрипт будет добавлять квоту |
| 5 | Процент пространства, на которое будет увеличиваться квота пользователя |
| 6 | Процент пространства от новой квоты для отправки пользователю предупреждения |
| 8 — 10 | Определение хэш переменных для будущего использования. Если это не сделать заранее в Powershell, сценарий вернет ошибку. |
| 8 | Массив баз данных с их лимитами по умолчанию |
| 9 | Массив пользовательских квот для каждого пользователя индивидуально |
| 10 | Массив занимаемого пространства для каждого пользователя индивидуально |
| 12 — 14 | Функция преобразования строки дискового пространства, которую возвращает командлет Exchange, в число, соответствующее занимаемому пространству в байтах |
| 16 — 18 | Подключение к серверу Microsoft Exchange |
| 16 | Создаем переменную с логином и паролем |
| 17 | Создаем переменную сессии с подключением к серверу, логином и паролем |
| 18 | Подключаемся к серверу, используя переменную сессии |
| 20 — 27 | Получаем массив баз данных, которые есть в нашем Exchange и их дисковые квоты по умолчанию. Данные нужны для пользователей, у которых не выставлены индивидуальные лимиты. |
| 20 | Запрашиваем список всех почтовых баз, выбираем из полученных данных имена и квоты и инициируем блок скрипт для каждого полученного объекта |
| 21 | Создаем переменную с именем базы |
| 22 | Создаем переменную с квотой для базы |
| 23 | Используем условие, если квота не безлимитная (unlimited) |
| 24 | Изменяем переменную с квотой — преобразовываем строку в число байт |
| 26 | Наполняем хэш-массив: добавляем элемент, где ключ — это имя почтовой базы, а значение — ее лимит по умолчанию |
| 29 — 44 | Получаем список почтовых ящиков и создаем массив пользователей, для которых необходим анализ квот |
| 29 | Создаем переменную, в которую поместим всю информацию по почтовым ящикам Exchange |
| 30 | Обратимся к каждому ящику из переменной, созданной строчкой 29 и запустим для нее блок-скрипт |
| 31 | Создадим переменную с именем пользователя ящика |
| 32 | Создадим переменную с базой, в которой хранится почта пользователя |
| 33 | Создадим переменную с объемом занимаемого пространства письмами пользователя |
| 34 | Создадим массив из двух элементов — квоты для пользователя и указание на использование лимитов по умолчанию для базы |
| 35 | Условие, если используются лимиты по умолчанию для почтовой базы пользователя |
| 36 | В качестве лимита пользователя используем квоту базы |
| 38 | Иначе, используем квоту пользователя, преобразовав ее в байты |
| 40 | Если квота пользователя не безлимитна |
| 41 | Добавляем элемент массива: ключ — пользователь, значение — его квота |
| 42 | Добавляем элемент массива: ключ — пользователь, значение — занимаемого им пространство на сервере |
| 46 — 58 | Проходим по всему списку пользователей и при необходимости, увеличиваем квоту на почтовый ящик Exchange |
| 46 | Обращаемся к ранее полученному массиву с пользователями и начинаем блок-скрипт |
| 47 | Создаем переменную для пользователя |
| 48 | Создаем переменную с квотой пользователя |
| 49 | Создаем переменную с занимаемым пространством пользователя |
| 50 | Рассчитываем переменную с процентом занимаемого пространства от квоты |
| 51 | Если процент занимаемого пространства выше или равен определенный нами в строке 4 |
| 52 | Рассчитываем новую квоту для пользователя |
| 53 | Рассчитываем новую квоту для отправки предупреждений |
| 54 | Выводим на экран пустую строку для разделения. Удобно, если скрипт запускать вручную |
| 55 | Выводим на экран пользователя, для которого меняем квоту. Удобно, если скрипт запускать вручную |
| 56 | Запускаем командлет для расширения квоты пользователя |
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…