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

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

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

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

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

Будучи ребенком 1980-х годов, я в значительной степени вырос с DOS. Таким образом, я стал очень комфортно работать с командами DOS и по сей день активно работаю с командной строкой Windows. Многие администраторы просто предполагают, что командная строка Windows — это пережиток 1980-х годов. На самом деле, у меня есть хороший друг в Кентукки, который уже более десяти лет высмеивает меня за различные подвиги командной строки (да, я говорю с вами, Шамир).

В командной строке гораздо больше, чем кажется на первый взгляд. По мере развития Windows развивалась и командная строка. Конечно, большинство исходных команд DOS по-прежнему поддерживаются, но за прошедшие годы Microsoft добавила бесчисленное количество новых команд. Многие из этих команд связаны с сетью, а некоторые специально связаны со службами терминалов Windows.

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

Команда изменения входа в систему

Команда «Изменить вход в систему» позволяет включать или отключать сеансы входа в систему из командной строки или из автоматизированного сценария. Один из примеров использования этой команды в реальном мире связан с компанией, которой нужно было блокировать доступ пользователей к конкретному серверу на несколько часов каждую ночь, чтобы можно было выполнять различные задачи обслуживания. Администратор этой конкретной компании разработал сценарий, который отключал сеансы входа в систему, запускал задачи обслуживания, а затем повторно разрешал вход в систему.

Синтаксис этой команды очень прост. Просто введите команду CHANGE LOGON, а затем один из трех переключателей:

  • /QUERY Сообщает, включен ли вход в сеанс в настоящее время или отключен.
  • /ENABLE Разрешает сеанс входа в систему
  • /DISABLE Отключает сеанс входа в систему

Если вы посмотрите на рисунок A, вы увидите команду Change Logon в действии. На рисунке я ввел CHANGE LOGON /? чтобы вы могли видеть синтаксис команды, а затем я ввел команду CHANGE LOGON /QUERY, чтобы вы могли увидеть вывод запроса.


Рисунок A: Команда CHANGE LOGON позволяет включать или отключать сеансовые входы в систему.

Некоторые среды не поддерживают использование команд, состоящих более чем из одного слова (IE: изменение входа в систему). Таким образом, Microsoft создала версию этой команды, состоящую из одного слова. Однословная команда: CHLOGON. Синтаксис работает точно так же, используете ли вы CHLOGON или Change Logon.

Команда смены порта

Команда «Изменить порт» быстро устаревает, но, поскольку некоторые организации все еще могут извлечь выгоду из использования этой команды, я хотел показать ее вам.

Идея приложения Change Port заключается в том, что некоторые устаревшие приложения (особенно приложения на основе DOS) жестко закодированы для использования определенных последовательных портов. Это может стать настоящей проблемой, если конкретный порт уже используется или его просто не существует. Например, что произойдет, если приложение закодировано для использования COM2, но у машины есть только один последовательный порт?

Команду Change Port можно использовать для переназначения последовательных портов. Например, если приложение жестко закодировано для использования COM2, но машина имеет только один последовательный порт, сопоставление портов можно изменить так, чтобы вызовы COM2 перенаправлялись на COM1.

Есть три разные вещи, которые вы можете сделать с помощью команды «Изменить порт». Ваш первый вариант — переназначить последовательный порт. Вы можете сделать это, используя параметр portx=porty. Например, если вы хотите перенаправить вызовы с COM2 на COM1, вы должны использовать следующую команду:

Еще одна вещь, которую позволяет сделать команда «Изменить порт», — это удалить сопоставление портов. Для этого просто выполните команду «Изменить порт» с ключом /D и номером порта. Например, если вы хотите удалить сопоставление для порта 2, вы должны ввести следующую команду:

Команда «Изменить порт» также поддерживает использование переключателя /Query. Это позволяет просматривать текущие сопоставления портов. Параметр /Query интересен тем, что он выявляет некоторые несоответствия между версиями Windows. В моей лабораторной среде, когда я запускал команду Change Port /Query на компьютере под управлением Windows Server 2003, не содержащем никаких физических последовательных портов, я получил сообщение о том, что сопоставления портов не существуют. Когда я попробовал то же самое на машине с Windows Vista, команда показала сопоставления, показанные на рисунке B.


Рисунок B: Команда Change Port /Query показывает сопоставления последовательных портов машины.

Как и команда «Изменить вход», существует сокращенная версия команды «Изменить порт». Сокращенная версия этой команды — CHGPORT.

Команда запроса сеанса

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


Рисунок C. Команда Query Session предоставляет информацию о текущих сеансах службы терминалов.

Тот факт, что команда Query Session не требует использования каких-либо параметров, не означает, что вы не можете использовать дополнительные параметры. Вы можете легко отфильтровать вывод, введя определенное имя пользователя, имя сеанса или идентификатор сеанса после команды. Например, если вы хотите узнать о сеансе номер 65536, вы должны ввести следующую команду:

Есть несколько переключателей командной строки, которые вы также можете использовать. Вот краткое описание доступных переключателей:

  • /SERVER:имя_сервера Позволяет указать имя сервера, который вы хотите запросить.
  • /MODE Отображает скорость передачи данных, четность, количество бит данных и стоповые биты для каждого сеанса.
  • /FLOW Сообщает вам, использует ли сеанс управление потоком.
  • /CONNECT Перечисляет метод подключения каждого сеанса.
  • /COUNTER Предоставляет сводку о количестве созданных, отключенных и повторно подключенных сеансов.

Вывод

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

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

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

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