Утилита termidesk-vdi-manage

Утилита termidesk-vdi-manage используется для настройки Termidesk из интерфейса командной строки. 

Для вызова утилиты следует:

  • в интерфейсе командной строки переключиться на пользователя termidesk:
:~$ sudo -u termidesk bash
BASH
  • вывести список команд утилиты:
:~$ /opt/termidesk/sbin/termidesk-vdi-manage help
BASH

Каждая подкоманда в приведенных ниже командах поддерживает вывод справки через ключ -h.

Для управления параметрами поставщиков ресурсов, доменов аутентификации, протоколов доставки и других компонентов, настраиваемых через «Портал администратора» Termidesk, следует обратиться к командам секции [termidesk].

Большая часть команд из вывода /opt/termidesk/sbin/termidesk-vdi-manage help предназначена для работы с БД и фреймворком Django и не приведена здесь.

Команды секции [termidesk] приведены в таблице.

Команды секции [termidesk]

ПараметрОписание
drop_tables

Удаляет таблицы из БД. Для просмотра списка ключей следует воспользоваться аргументом -h:

/opt/termidesk/sbin/termidesk-vdi-manage drop_tables -h

Поддерживаются аргументы:

  • --noinput, --no-input - сообщает Django НЕ запрашивать у пользователя ввод;
  • -R  <МАРШРУТИЗАТОР>, --router  <МАРШРУТИЗАТОР> - использование указанного маршрутизатора БД вместо того, который определен в настройках settings.py;
  • -S <СХЕМА>, --schema <СХЕМА> - удаление указанной схемы вместо public;
  •  --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы
tdsk_auth

Создает домен аутентификации. Для просмотра списка ключей следует воспользоваться аргументом -h:

/opt/termidesk/sbin/termidesk-vdi-manage tdsk_auth -h

Поддерживаются аргументы:

  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы.

Поддерживаются подкоманды:

  • create - создание домена аутентификации;
  • list - вывод списка доменов аутентификации;
  • remove - удаление домена аутентификации;
  • login - аутентификация в указанный домен;
  • logout - завершение сессии.

Подкоманда create принимает аргументы:

  • --type -  задание типа домена аутентификации. Доступны: ALDAuthenticatorPlugin («Astra Linux Directory»), IPAuth («IP аутентификация»), KerberosAuthenticatorPlugin («FreeIPA»), SAMLAuthenticator («SAML»), SimpleLdapAuthenticator («MS Active Directory (LDAP)»);
  • --params - задание параметров домена аутентификации. Формат: имя1=значeние1 имя2=значение2 и т.д. Доступные параметры для указанного типа домена аутентификации можно получить через команду --list , например: /opt/termidesk/sbin/termidesk-vdi-manage tdsk_auth create --type KerberosAuthenticatorPlugin --name test --small_name test--list --test;
  • --list - вывод параметров домена аутентификации;
  • --test - проверка параметров без создания домена аутентификации;
  • --quiet - вывод только сообщений об ошибках;
  • --name <ИМЯ> - имя домена аутентификации;
  • --small_name <короткое имя> - короткое имя домена аутентификации. Допустимые символы: a-z, A-Z, 0-9. Максимальная длина 32 символа;
  • --priority <приоритет> - числовое значение приоритета домена аутентификации, по умолчанию «1»;
  • --comments <комментарий> - комментарий к создаваемому домену.

Подкоманда list принимает аргумент --output json для вывода списка в формате json.

Подкоманда remove принимает аргументы:

  • --output json - вывод параметров в формате json;
  • --silent - «тихое» удаление для выполнения команды из исполняемого файла;
  • --uuid <идентификатор> - идентификатор объекта для удаления.

Подкоманда login принимает аргументы:

  • --uuid <идентификатор> - идентификатор объекта для аутентификации;
  • --small_name <короткое имя> - короткое имя домена аутентификации;
  • --output json - вывод параметров в формате json

Подкоманда logout принимает аргументы:

  • --token <токен> - токен сессии пользователя;
  • --output json - вывод параметров в формате json
tdsk_clearsessions

Порционная очистка сессий.

Поддерживаются аргументы:

  • -chunk <количество> - количество сессий для удаления, по умолчанию 1000;
  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы
tdsk_config

Работа с системными настройками.

Поддерживаются аргументы:

  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы.

Поддерживаются подкоманды:

  • list - вывод конфигурационных параметров и их значений;
  • set - установка значения конфигурационному параметру.

Подкоманда set принимает аргументы:

  • --section - секция параметра из доступных: Security, IPAUTH, Global, Monitoring, Experimental, Notifications, Audit;
  • --key <ключ> -  ключ параметра;
  • --value <значение> - значение параметра
tdsk_exp_2fa_add_statictoken

Добавление токена пользователю.

Поддерживаются аргументы:

  • username - имя пользователя, с которым будет ассоциирован токен;
  • -t <токен>, --token <токен> - токен, который нужно добавить. Если этот параметр пропущен, он будет сгенерирован случайным образом;
  • --auth_uuid <идентификатор> - идентификатор домена аутентификации;
  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы
tdsk_exp_2fa_clear_totpdevice

Удаление TOTP-устройства пользователя.

Поддерживаются аргументы:

  • username - имя пользователя, которому нужно удалить TOTP-устройство;
  • --auth_uuid <идентификатор> - идентификатор домена аутентификации;
  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы
tdsk_graph_models

Создание файла GraphViz с описанием моделей БД для указанных имен приложений.

Можно передать несколько имен приложений, и все они будут объединены в одну модель.

Пример использования команды приведен в подразделе Генерация отчета по моделям данных и структурам БД Termidesk.

Поддерживаются аргументы:

  • app_label - наименование приложения;
  • --pygraphviz - использование PyGraphViz для создания изображения;
  • --pydot - использование PyDot(Plus) для создания изображения;
  • --disable-fields, -d - не показывать поля;
  •  --group-models, -g - сгруппировать модели в соответствии с их применением;
  • --all-applications, -a - включить все приложения для вывода модели;
  • --output <путь к файлу>, -o <путь к файлу> - запись вывода в файл;
  •  --layout <макет>, -l <макет> - использование макета GraphViz для визуализации. Поддерживаются: circo, dot, fdpneato, nop, nop1, nop2, twopi;
  • --verbose-names, -n - использование подробных имен для моделей и полей;
  • --language <локализация>, -L <локализация> - указания языка, который будет использоваться для подробных имен;
  • --exclude-columns <столбцы>, -x <столбцы> - исключение определенных столбцов;
  • --exclude-models <модели>, -X <модели> - исключение определенных моделей;
  •  --include-models <модели>, -I <модели> - ограничение только указанными моделями;
  • --inheritance, -e - включение наследования (используется по умолчанию);
  • --no-inheritance, -E - выключение наследования;
  • --hide-relations-from-fields, -R
  • --disable-sort-fields, -S
  • --json - вывод в формат json;
  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы
tdsk_group

Создание группы ВРМ.

Поддерживаются аргументы:

  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы.

Поддерживаются подкоманда create (создание группы рабочих мест) со следующими аргументами:

  • --quiet - вывод только сообщений об ошибках;
  • --name <имя> -  имя создаваемой группы;
  • --comments <комментарий> - комментарий к создаваемой группе;
  • --priority <приоритет> - числовое значение приоритета группы
tdsk_license

Управление лицензией Termidesk.

Поддерживаются аргументы:

  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы.

Поддерживаются подкоманды:

  • install - установить лицензию из файла, поддерживается относительный или абсолютный путь к файлу. Пример команды для установки лицензии: /opt/termidesk/sbin/termidesk-vdi-manage tdsk_license install <путь к файлу лицензии>;
  • show - вывести информацию об установленной лицензии. Для вывода в формате json следует использовать аргумент --output: /opt/termidesk/sbin/termidesk-vdi-manage tdsk_license show --output json
tdsk_net

Создание сети.

Поддерживаются аргументы:

  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы.

Поддерживается подкоманда create (создание сети) со следующими аргументами:

  • --quiet - вывод только сообщений об ошибках;
  • --name <имя> -  имя создаваемой сети;
  • --netRange <диапазон> - диапазон IP-адресов. Допустимы различные форматы, например: A.B.C.*, A.B.C.D/N, A.B.C.D - E.F.G.D
tdsk_osm

Создание параметров гостевой ОС.

Поддерживаются аргументы:

  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы.

Поддерживается подкоманда create (создание параметров гостевой ОС) со следующими аргументами:

  • --params - задание параметров гостевой ОС. Формат: имя1=значeние1 имя2=значение2 и т.д.;
  • --list - вывод параметров гостевой ОС;
  • --test - проверка параметров без создания объекта;
  • --quiet - вывод только сообщений об ошибках;
  • --name <ИМЯ> - наименование параметров гостевой ОС;
  • --comments <комментарий> - комментарий к создаваемым параметрам
tdsk_pool

Управление фондами ВРМ.

Поддерживаются аргументы:

  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы.

Поддерживаются подкоманды:

  • create - создание фонда ВРМ;
  • list - вывод списка фондов ВРМ.

Подкоманда create принимает аргументы:

  • --quiet - вывод только сообщений об ошибках;
  • --name <ИМЯ> - имя фонда ВРМ;
  • --comments <комментарий> - комментарий к создаваемому фонду ВРМ;
  • --service_id <идентификатор> - указание идентификатора шаблона ВРМ;
  • --osmanager_id <идентификатор> - указание идентификатора параметров гостевой ОС ВРМ;
  • --image_id <идентификатор> - указание идентификатора изображения гостевой ОС;
  • --servicesPoolGroup_id <идентификатор> - указание идентификатора группы ВРМ;
  • --cache_l1_srvs <значение> - количество ВРМ в кеше 1-го уровня;
  • --cache_l2_srvs <значение> - количество ВРМ в кеше 2-го уровня;
  • --max_srvs <значение> - максимальное количество ВРМ.

Подкоманда list принимает аргумент --output json для вывода списка в формате json

tdsk_prov

Управление поставщиками ресурсов.

Поддерживаются аргументы:

  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы.

Поддерживаются подкоманды:

  • create - создание поставщика ресурсов;
  • list - вывод списка поставщиков ресурсов.

Подкоманда create принимает аргументы:

  • --type - задание типа поставщика ресурсов. Доступны: RedVirtPlatform («Платформа RED Virtualization»), SessionsPlatform («Сервер Терминалов [экспериментальный]»), VMmanagerPlatform («Платформа VMmanager»), oVirtPlatform («Платформа oVirt/RHEV»), pksvbrestPlatform («ПК СВ Брест»), vmwarePlatform («Платформа VMware»), zVirtPlatform («Платформа zVirt»);
  • --params - задание параметров поставщика ресурсов. Формат: имя1=значeние1 имя2=значение2 и т.д. Доступные параметры для указанного типа поставщика ресурсов можно получить через команду --list , например: /opt/termidesk/sbin/termidesk-vdi-manage tdsk_prov create --type RedVirtPlatform --name test --list --test ;
  • --list - вывод параметров поставщика ресурсов;
  • --test - проверка параметров без создания поставщика ресурсов;
  • --quiet - вывод только сообщений об ошибках;
  • --name <имя> - наименование поставщика ресурсов;
  • --comments <комментарий> - комментарий к создаваемому поставщику ресурсов.

Подкоманда list принимает аргумент --output json для вывода списка в формате json

tdsk_trans

Управление протоколами доставки.

Поддерживаются аргументы:

  • --version - вывод версии программы;
  • -v {0,1,2,3}, --verbosity {0,1,2,3} - уровень детализации сообщений; 
  • --settings <настройки> - путь к модулю настроек Python;
  •  --pythonpath <каталог Python> - каталог, который нужно добавить в путь Python, например /home/djangoprojects/myproject;
  •  --traceback - вызов исключений;
  •  --no-color - вывод команды без подсвечивания;
  •  --force-color - вывод команды с принудительным подсвечиванием;
  • --skip-checks - пропуск проверки системы.

Поддерживаются подкоманды:

  • create - добавление протокола доставки;
  • list - вывод списка протоколов доставки;
  • remove - удалить протокол доставки;
  • convert - конвертировать протокол доставки (RDSTransport, RDSWSTRDPTransport, STALTransport, STALWSTRDPTransport)  в новый протокол TerminalTransport.

Подкоманда create принимает аргументы:

  • --type - задание типа протокола. Доступны: HTML5Transport («SPICE (HTML5, через локальный прокси)»), HTML5VNCTransport («VNC (HTML5, через локальный прокси)»), LoudplayDirectTransport («Loudplay (напрямую, эксперим.)»), LoudplayTunneledTransport («Loudplay (через вебсокет шлюз, эксперим.)»), RDPTransport («RDP (напрямую)»), RDSTransport («Доступ к MS RDS по RDP (напрямую) [экспериментальный]»), RDSWSTRDPTransport («Доступ к MS RDS по RDP (через шлюз) [экспериментальный]»), STALTransport («Доступ к STAL по RDP (напрямую) [экспериментальный]»), STALWSTRDPTransport («Доступ к STAL по RDP (через шлюз) [экспериментальный]»), TDSKSPICETransport («SPICE (vdi-viewer, эксперим.)»), WSTRDPTransport («RDP (через вебсокет шлюз)»), TERATransport («TERA [экспериментальный]»), TerminalTransport («RDP (терминальный доступ)»);
  • --params - задание параметров протокола доставки. Формат: имя1=значeние1 имя2=значение2 и т.д. Доступные параметры для указанного типа протокола доставки можно получить через команду --list, например: /opt/termidesk/sbin/termidesk-vdi-manage tdsk_trans create --type RDPTransport --name test --list;
  • --list - вывод параметров протокола доставки;
  • --test - проверка параметров без создания протокола доставки;
  • --quiet - вывод только сообщений об ошибках;
  • --name <имя> - наименование протокола доставки;
  • --comments <комментарий> - комментарий к создаваемому протоколу доставки;
  •  --priority <приоритет> - числовое значение приоритета протокола доставки;
  • --allowed_oss <перечень ОС> - перечень разрешенных OC из списка: Android, CrOS, FreeBSD, iPad, iPhone, Linux, Mac, Windows, Windows Phone. Формат: имя1,имя2,имя3;
  • --nets_positive <yes/no> - указание, что протокол должен быть доступен только из сетей, указанных в параметре --networks. Может принимать значения не только yes или no, подходит в целом любое непустое значение;
  • --networks <наименования сетей> - перечень сетей, доступ из которых разрешен для создаваемого протокола доставки. Формат: имя1,имя2,имя3.

Подкоманда list принимает аргумент --output json для вывода списка в формате json.

Подкоманда create принимает аргументы:

  • --output json - вывод списка в формате json;
  • --silent - выполнение в «тихом» режиме;
  • --uuid <идентификатор> - идентификатор объекта для удаления.

Подкоманда convert принимает аргументы:

  • --uuid <идентификатор> - идентификатор протокола доставки, который необходимо конвертировать (RDSTransport, RDSWSTRDPTransport, STALTransport, STALWSTRDPTransport);
  • --all - ковернтировать все протоколы доставки RDS и STAL.
tdsk_versionПолучение версии Termidesk