Написание сценариев на основе служб терминалов (часть 3)

Опубликовано: 23 Апреля, 2023


Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:







  • Написание сценариев на основе служб терминалов (часть 7)
  • Написание сценариев на основе служб терминалов (часть 8)
  • Написание сценариев на основе служб терминалов (часть 9)
  • Написание сценариев на основе служб терминалов (часть 10)

  • Написание сценариев на основе служб терминалов (часть 11)




  • Написание сценариев на основе служб терминалов (часть 13)


  • Написание сценариев на основе служб терминалов (часть 14)

До сих пор в этой серии статей я показал вам несколько различных команд, которые вы можете использовать для получения информации о вашей среде службы терминалов. Есть еще несколько команд, которые я хочу показать вам, как использовать, и в этой статье я продолжу обсуждение, продемонстрировав несколько из этих команд. В конце концов, я завершу серию, показав вам несколько различных сценариев, которые вы можете создать на основе команд, которые я вам показал. Эти сценарии можно использовать для автоматизации различных задач обслуживания службы терминалов. С учетом сказанного давайте начнем с обсуждения еще нескольких команд.


Запросить пользователя


Команда Запросить пользователя предназначена для того, чтобы вы могли видеть информацию о пользователях, которые в данный момент подключены к терминальному серверу. В самой простой форме вы можете просто ввести Query User, чтобы просмотреть отчет обо всех пользователях, подключенных к терминальному серверу, как показано на рисунке A.



Рисунок A. Команда Query User позволяет просмотреть некоторую базовую информацию обо всех пользователях, подключенных к терминальному серверу.


Первое, что вы, вероятно, заметили в команде Query User, это то, что она отображает информацию, относящуюся к серверу, который вы используете в данный момент. Однако есть переключатель, который можно использовать для проверки другого сервера. Это полезно, если вы хотите взглянуть на сервер с рабочей станции или если вы создаете сценарий на основе команды Query User и точно не знаете, на какой машине будет выполняться сценарий. Чтобы команда Query User запускалась на определенном сервере, введите следующую команду:



Вы можете увидеть пример работы этой команды на рисунке B.



Рисунок B. Вы можете настроить команду Query User для запуска на указанном сервере.


Другая интересная особенность команды Query User заключается в том, что вы можете фильтровать возвращаемую информацию на основе имени пользователя, имени сеанса или даже идентификатора сеанса. Вам не нужно указывать переключатель командной строки, когда вы фильтруете конкретную информацию. Все, что вам нужно сделать, это ввести информацию, которую вы фильтруете, хотя вы можете использовать фильтр в сочетании с переключателем /SERVER.


Например, если вы посмотрите на рисунок C, вы заметите, что две команды, показанные на рисунке, идентичны, за исключением того, что к концу второй команды добавлена цифра 1. Таким образом, я создал отфильтрованное представление, которое показывает мне идентификатор сеанса номер 1 на определенном сервере.



Рисунок C. Добавив число 1 в конец команды, я создал отфильтрованное представление, в котором отображается номер сеанса 1


Та же концепция применяется, если вы хотите отфильтровать другую часть информации. Если вы посмотрите на рисунок D, то заметите, что синтаксис команды совсем не изменился. Единственное, что я сделал по-другому, это заменил идентификатор сеанса на имя пользователя. При этом я могу создать отфильтрованное представление всех сеансов, открытых конкретным пользователем.



Рисунок D: Вы можете добавить имя пользователя, имя сеанса или идентификатор сеанса в конец команды Query User


Основные команды


До сих пор в этой серии статей я показывал вам некоторые из более сложных команд, которые вы можете использовать для взаимодействия с терминальным сервером из командной строки. Оставшуюся часть этой статьи я хочу посвятить разговору о некоторых основных командах, которые вы можете использовать. Есть еще несколько довольно сложных команд, которые я хочу вам показать, но я расскажу о них в следующих статьях.


Сбросить сеанс


Как и следовало ожидать, команда Reset Session позволяет сбросить зависшую сессию. Фактический синтаксис команды прост. Просто следуйте команде «Сбросить сеанс», указав либо имя сеанса, либо идентификатор сеанса. Вы также можете указать имя сервера, содержащего сеанс, который вы хотите сбросить, но это необходимо только в том случае, если сеанс выполняется на сервере, отличном от того, к которому вы в данный момент подключены.


Синтаксис команды позволяет добавлять имя сеанса или идентификатор сеанса непосредственно в конец команды Reset Session. Если вы хотите указать сервер, вам придется использовать переключатель /SERVER:servername. Существует также переключатель /V, который можно использовать для более подробного просмотра результатов.


ВЫЙТИ


Команда Logoff позволяет завершить сеанс терминального сервера определенного пользователя. Синтаксис команды выхода из системы полностью идентичен синтаксису команды сброса сеанса. По сути, это означает, что вы можете контролировать, какого пользователя вы хотите отключить, добавляя либо имя сеанса, либо идентификатор сеанса к команде logoff. Как и в случае с командой Reset session, вы можете использовать переключатель /SERVER, чтобы указать имя сервера, и вы можете использовать переключатель /V, чтобы запросить более подробные выходные данные.


ТСДИСКОН


Важно понимать, что существует разница между выходом пользователя из системы и отключением сеанса пользователя. Технически сессия может быть подключена, даже если на самом деле никто не вошел в эту сессию. Здесь в игру вступает команда TSDISCON. Команда TSDISCON позволяет отключить сеанс от терминального сервера.


Опять же, синтаксис этой команды идентичен синтаксису, используемому командой Reset Session и командой Logoff. Вы можете увидеть разбивку синтаксиса ниже:





  • Идентификатор сеанса: идентификационный номер сеанса.


  • Sessionname: имя сеанса


  • /SERVER:servername: по умолчанию команда TSDISCON использует текущий сервер, но этот необязательный параметр позволяет указать другой терминальный сервер.


  • /V: Этот необязательный параметр позволяет получить более подробный (подробный) вывод.

Имейте в виду, что только что описанный синтаксис можно использовать с командами TSDISCON, LOGOFF или RESET SESSION.


ЦШУТДН


Команда TSSHUTDN позволяет полностью отключить или перезагрузить терминальный сервер. Хотя есть несколько переключателей, которые можно использовать с этой командой, сама команда не требует пояснений. Синтаксис команды указан ниже:





  • Время ожидания: количество секунд ожидания перед завершением пользовательских сеансов (по умолчанию 60 секунд).


  • /REBOOT: перезагрузить сервер.


  • /POWERDOWN: Выключить сервер


  • /DELAY: время задержки: количество секунд ожидания после выхода пользователей из системы перед выключением сервера (по умолчанию 30 секунд).


  • /V: Подробный вывод

Вывод


В этой статье я обсудил еще несколько команд, которые можно использовать при создании сценариев на основе службы терминалов. Есть еще примерно восемь-десять команд, специфичных для службы терминалов, которые я хочу обсудить. После этого я намерен осветить некоторый базовый синтаксис языка, а затем планирую начать показывать вам, как создавать сценарии с использованием команд, которые я обсуждал.


Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:







  • Написание сценариев на основе служб терминалов (часть 7)
  • Написание сценариев на основе служб терминалов (часть 8)
  • Написание сценариев на основе служб терминалов (часть 9)
  • Написание сценариев на основе служб терминалов (часть 10)

  • Написание сценариев на основе служб терминалов (часть 11)




  • Написание сценариев на основе служб терминалов (часть 13)


  • Написание сценариев на основе служб терминалов (часть 14)