Справочные сведения
Клавиатура
| Горячие клавиши | Описание |
|---|---|
Ctl + L |
Очистить экран. В журнале сеанса всё сохраняется. |
Ctl + Tab |
Следующий сервер. |
Ctl + Shift + Tab |
Предыдущий сервер. |
Ctl + 1…9 |
Перейти к серверу. |
Ctl + F |
Поиск по журналу. |
Ctl + C |
Скопировать выделенное в выводе. |
F5 |
Обновить дерево объектов. |
Выделение вывода
Вывод выделяется мышью так же, как обычный текст на странице. Выделение свободно тянется от любой строки до любой другой: команда, строка ответа и содержимое под ней — это один сплошной текст, а не три отдельных поля. Ctl+C копирует выделенное. Двойной щелчок выделяет
имя целиком — например, corp.dom или user@host, если тянуть за верхний или нижний край, вывод прокручивается сам.
Результат, выделенный целиком, копируется целиком — со всеми уровнями дерева, даже если на экране они свёрнуты. У свёрнутой ветки показаны только первые несколько полей, и это краткая сводка, а не данные, — копировать её вместо содержимого смысла нет. Если выделить часть результата, скопируется ровно то, что выделено.
Как только вы начинаете набирать команду, выделение снимается, и Ctl + C снова копирует из поля ввода.
В поле ввода команды
| Горячие клавиши | Описание |
|---|---|
Enter |
Выполнить. |
Up Down |
История команд либо список автодополнения, пока он открыт. |
Space |
Принять выделенное имя команды. |
Esc |
Закрыть список. |
Tab |
Перемещение по списку, пока он открыт. Иначе — запрос к серверу о возможных значениях аргумента.. |
В поле поиска Enter / Shift + Enter переводят между совпадениями.
Файлы и переносимость
Всё, что программа читает и записывает, находится рядом с исполняемым файлом:
| Файл | Описание |
|---|---|
|
|
|
Профили и их серверы, сохранённые группы и настройки отображения. |
|
По одному файлу журнала на сеанс. |
Программа не записывает данные в %APPDATA%, %LOCALAPPDATA%, Program Files или реестр и не использует интеграцию с оболочкой Windows. Папку можно скопировать на промежуточный узел, в общий каталог или на флешку — всё будет работать, при удалении папки не останется следов.
Расположение файлов определяется папкой исполняемого файла, а не текущим рабочим каталогом, поэтому ярлык с другой рабочей папкой всё равно найдёт список серверов.
Несколько конфигураций из одной копии
IvaMailStudio.exe --data-dir configs\prod
IvaMailStudio.exe --data-dir configs\test
profiles.json и transcripts\ при этом создаются внутри указанной папки. Относительный путь отсчитывается от папки исполняемого файла — по той же причине, что и выше. Если указанный ключ запуска программе непонятен, она останавливается с подсказкой, а не запускается на папке по умолчанию с ощущением, что серверы пропали.
Пароли
Пароли в profiles.json зашифрованы средствами Windows DPAPI и привязаны к конкретной машине и учётной записи Windows.
Копия, перенесённая на другой компьютер, сохранит список серверов, но запросит пароли заново. Это ожидаемое поведение такого шифрования, а не ограничение, которое стоит обходить.
Чтение сигнатуры команды
В строке подсказки используется штатная нотация сервера:
ObjectsList "domname"|domUID ("filter"|true|false) (start limit ([fields]))
| Параметр | Описание |
|---|---|
|
Строка в кавычках. |
|
Число без кавычек. |
|
Или. |
|
Необязательная часть — скобки являются обозначением и не набираются. |
|
Массив JSON. |
Имя принимается везде, где в нотации указано "dom.name"|domUID, поэтому UID — это допустимая возможность, а не обязательное требование; для чтения удобнее использовать имя.
Префиксы типов в значениях
Значения получают префикс типа там, где тип не очевиден из самого JSON:
| Параметр | Описание |
|---|---|
|
Момент времени. |
|
Длительность. |
|
Размер данных. |
|
IP-адрес. |
|
Адрес с портом. |
|
Число, за которым следует текст. |
Язык
Русский и английский язык интерфейса переключаются списком в заголовке окна. Изменение применяется сразу, без перезапуска программы, а выбор сохраняется вместе с профилями серверов.
Если что-то пошло не так
| Что видно | Что это значит | Что делать |
|---|---|---|
Красная строка |
Сервер отклонил команду. Это обычный результат выполнения. |
Сверьте аргументы с сигнатурой в строке подсказки. Сеанс при этом остаётся в рабочем состоянии. |
Рассинхронизирован — переподключитесь |
Выполнение команды было прервано, и соединение намеренно закрыто: ответ, полученный наполовину, невозможно достоверно сопоставить с последующими командами. |
Нажмите Переподключить. |
Ошибка аутентификации сразу при подключении |
Выбранный механизм аутентификации может быть недоступен на этом сервере. Программа не переключается на другой механизм самостоятельно. |
Измените профиль и попробуйте LOGIN либо уточните, какие механизмы поддерживает сервер. |
Ошибка сертификата при подключении |
Включена настройка Проверять сертификат сервера, а сертификат не прошёл проверку. |
Если это тестовый стенд с самоподписанным сертификатом — осознанно отключите проверку. Если это промышленный сервер — выясните причину изменения сертификата. |
Сохранённый пароль не принимается после переноса папки |
DPAPI привязывает пароль к исходной машине и учётной записи — см. Файлы и переносимость. |
Введите пароль заново на этой машине. |
Серверы пропали |
Вероятно, программа запущена с другим значением |
Проверьте ключ запуска. Если серверов нет, в строке состояния указан используемый каталог данных. |
Поиск ничего не находит |
Для Поиск объектов по параметру — либо параметр называется иначе, либо он действительно не задан ни на одном объекте. Эти два случая неразличимы. |
Проверьте правильность написания имени параметра. |
Журнал сеанса в папке transcripts\ содержит всё: полное протокольное рукопожатие и команды, которые программа отправляла от вашего имени, — независимо от того, отображались ли они на экране. Когда одного снимка экрана недостаточно, чтобы разобраться в произошедшем, обратитесь к этому файлу.

