Упрощаем обслуживание SCDPM-серверов

Если вы когда-нибудь пробовали регулярно обслуживать SCDPM-серверы (например, ежемесячно устанавливать обновления), то, наверняка, знаете, что просто так выключать SCDPM-сервер нельзя — предварительно надо отключить всех агентов и дождаться завершения всех заданий.

Но есть проблема — не существует быстрого способа получить в PowerShell список всех подключённых к серверу активных агентов. Вы, конечно, можете сказать, что я неправ и командлет Get-DPMProductionServer с фильтром “ServerProtectionState -eq ‘HasDatasourcesProtected'” решают задачу, но, на самом деле — нет: вы забыли про узлы кластеров. Если SCDPM-сервер защищает кластерный ресурс, но никак не защищает сами узлы кластера, вы не увидите их в выводе Get-DPMProductionServer (с применённым фильтром). Плюс ко всему, в выводе будут маячить совершенно ненужные кластерные ресурсы, агента на которых как раз никакого и нет.

Вот почему я предлагаю вам скрипт для быстрого и точного получения списка настоящих активных компьютеров, подключённых к вашему SCDPM-серверу. Просто передайте ему на вход список имён SCDPM-серверов (или ничего не передавайте для локального выполнения) и в ответ вы получите коллекцию объектов ProtectedServers для каждого из них. Дальше, вы можете передать эту коллекцию, напрямую через pipeline, командлетам Enable/Disable-DPMProductionServer.

Leave a Reply

Your email address will not be published. Required fields are marked *