Относительно недавно обновился базовый пакет с основными библиотеками DSC. И вот что я хочу сказать по этому поводу. DSC отлично подходит для разработки и разработчиков. И очень плохо подходит для поддержки и системных администраторов. Я вижу следующие стоп-факторы в использовании DSC как инструмента автоматизации: DSC по своей архитектуре работает исключительно в рамках конкретного хоста. Это […]
DSC: о пользе чтения списка ошибок
Для управления серверами Exchange через DSC написан специальный модуль xExchange. В нынешнем виде (1.19.0.0) он работает отлично, но не всегда. Например ресурс xExchMaintenanceMode работает не совсем так как ожидается. Если вывести сервер в режим обслуживания, то с точки зрения xExchMaintenanceMode он не будет выведен в режим обслуживания. Дело тут вот в чём. xExchMaintenanceMode использует следующую команду для вывода […]
DSC: ручная установка ресурсов
При использовании push-метода применения конфигураций на серверы существует одна проблема – DSC на целевой системе не проверяет наличие необходимых ресурсов DSC. Это может привести к тому, что конфигурация применится не полностью. Что нас конечно же не устраивает. Поэтому необходимо обеспечить наличие всех необходимых ресурсов DSC, которые используются в конфигурации. Тут возможны два варианты: Использование pull-сервера […]
DSC: несовместимость в разных версиях фрэймворков
Задача: настроить управление конфигурацией серверов Exchange через DSC. Для решения задачи энтузиастами был написан соответствующий модуль для DSC, который называется xExchange. Модуль требует для выполнения передачи в конфигурации пароля, который используется для запуска удалённой сессии WinRM для подключения к серверу Exchange. Чтобы не стать героем интернет-баек не стоит такие данные передавать в открытом виде, благо […]
Exchange 2016: Поиск и удаление писем
Во времена Exchange 2010, если было необходимо найти и удалить письмо из почтовых ящиков пользователей использовался мега-командлет швейцарский нож Search-Mailbox, который позволял найти письма в нескольких почтовых ящиках, скопировать их куда надо и затем удалить. Этот командлет отлично работал при поиске и удалении, если необходимо было просмотреть несколько сотен почтовых ящиков. Если же ящиков было […]
Массовое переименование файлов
Задача: нужно сменить расширение всех файлов в определённой директории, скажем с .txt на .log. Задача имеет простое решение в PoSh: Полезные ссылки: Use PowerShell to Rename Files in Bulk
Поиск и глобальный каталог
Задача: имеется список guid-ов объектов в AD, для которых необходимо получить некоторый набор свойств. Объекты могут быть как пользователями, так и группами или контактами. Искать нужно внутри многодоменного леса, объекты могут быть внутри любого домена в лесе. Найти объект, вне зависимости от его типа, можно через командлет Get-ADObject: Небольшое затруднение возникает, если необходимо делать поиск […]
Exchange 2010 vs. Public Folders
Ранее я вскользь касался момента с переносом общих папок из базы на одном сервере в базу на другом сервере. Использование скрипта MoveAllReplicas.ps1 помогает в большинстве случаев. Но иногда, возникает ситуация, когда конкретная реплика общей папки не удаляется из базы общих папок. То есть в свойствах общей папки в репликах отсутствует некоторая база общих папок, но де-факто […]
Массовые удаления объектов из почтового ящика
Илья Сазонов недавно жаловался на проблему массового удаления большого количества объектов из папки RecoverableItems. Решил он эту проблему с помощью редактора MFCMapi. Но, задача так же имеет решение через EWS. При этом необходимо держать в уме Throttling Policy, которые, возможно, необходимо будет подправить для учётной записи, из под которой мы будем удалять объекты. Не растекаясь долго мысью […]
Вытаскиваем права доступа на папки
В Outlook пользователь на конкретные папки может достаточно гибко раздавать права доступа другим пользователям организации. Обычно этот сценарий используется руководителями, которые делегируют часть прав на свой ящик секретарю. И в некоторый момент может понадобиться сделать простейший аудит прав. Права на конкретную папку в почтовом ящике пользователя можно получить с командлетом Get-MailboxFolderPermission. Например: Главная сложность в […]