Массовые операции
Одна команда, много объектов
-
Выберите объекты — вручную, из сохранённой группы или по результату поиска (Поиск объектов по имени, Поиск объектов по параметру).
-
Перейдите на вкладку Терминал. Полоса над полем ввода показывает, что выделение сохранилось.
-
Наберите команду, которую нужно выполнить для каждого из выбранных объектов.
-
Нажмите Выполнить над выбранными и подтвердите действие.
Как подставляются аргументы |
Программа читает сигнатуру самой команды и подставляет домен и объект в объявленные ею места. Поэтому механизм работает и для команд, для которых он не был предусмотрен отдельно. |
Что видно в журнале |
Каждая отправленная команда фиксируется по имени объекта, поэтому понятно, к какому ответу она относится. Результаты отображаются свёрнутыми. |
Когда останавливается |
При первом отказе сервера. В итоге сообщается, сколько команд из скольких выполнено успешно. |
Кнопка Снять выделение на той же полосе сбрасывает объекты, выбранные во вкладке «Объекты».
Выполнить на нескольких серверах
-
Подключите нужные серверы.
-
Наберите команду в поле ввода терминала — с тем же автодополнением и подсказками, что и для любой другой команды.
-
Нажмите Выполнить на… в заголовке.
-
Отметьте серверы. Есть кнопки Отметить все и Снять все.Выбор серверов намеренно оставлен за вами, поскольку при одновременном подключении к промышленному серверу и тестовым стендам «все» — редко то, что нужно.
-
Нажмите Выполнить.
В итоге по каждому серверу отображается его ответ, время выполнения и признак того, совпали ли ответы.
Сравнить ответы
Если ответы разошлись, в итоге предлагается кнопка Сравнить.
Сравнение выполняется по содержимому ответа, а не по строке статуса: два сервера, одинаково ответившие 200 OK, — это как раз тот случай, когда важно увидеть различие в данных.
Окно построено по параметрам. Каждый различающийся параметр указан по точечному пути (Router.Limits.Max, ciphers[1]), а под ним — каждое значение по одному разу, с перечнем серверов, которые его дали, и их количеством; первым идёт значение, с которым согласно большинство. Поэтому параметр, по которому двадцать серверов разошлись на два значения, — это две строки, а не двадцать, и вопрос, ради которого окно открывают, — кто отличается и чем, — виден прямо в структуре таблицы.
| Столбец | Что в нём |
|---|---|
Параметр |
Точечный путь, повторяется в каждой строке этого параметра. |
Значение |
Что ответили эти серверы. Если параметра у сервера нет вовсе, написано (здесь не задано), а не оставлена пустая ячейка. |
Серверы с таким значением |
Их имена в том порядке, в каком они перечислены в запуске. |
Сколько |
Количество — чтобы длинный список имён, обрезанный по ширине, всё равно поддавался счёту. |
Перечисляются только различающиеся параметры — в настройках их сотни, и включение совпадающих скрыло бы те немногие, что действительно важны, — а строка над таблицей сообщает, сколько параметров разошлось и сколько серверов было опрошено. Массивы сравниваются по позициям, поэтому изменение порядка элементов также остаётся заметным.
Выполнить сценарий
Сценарий — обычный текстовый файл: по команде на строку, пустые строки и строки, начинающиеся с #, игнорируются. Файл example-script.txt из папки релиза — безопасная отправная точка: он выполняет только команды чтения.
# По команде на строку. Пустые строки и строки с # игнорируются.
PING
MyRights
SystemInfo
DomainsList
-
Подключите серверы.
-
Нажмите Выполнить сценарий и выберите файл.
-
Прочитайте окно подтверждения. В нём указаны число команд, список серверов и первые десять команд сценария — до того, как что-либо отправлено.
-
Нажмите Выполнить сценарий.
| Сценарий выполняется на всех подключённых серверах, а не только на выбранном подмножестве. Отключите заранее те серверы, которых он не должен касаться. |
Каждая команда завершается на всех серверах, прежде чем начнётся следующая. Для последовательности изменяющих команд это принципиально: иначе один сервер может остаться на середине сценария, пока остальные уже выполнят его до конца.
Выполнение останавливается при первой ошибке. Сценарий обычно представляет собой последовательность связанных действий, и продолжать после того, как один из шагов не выполнился, как правило, не имеет смысла.

