Полезные команды для терминального сервера — Windows admin blog

Change logon

change logon — включение / отключение входа на терминальный сервер

Полностью отключить вход в терминальные сессии можно командой:

change logon /disable

Включение входа:

change logon /enable

Все возможные ключи смотрим в справке:

change logon /?

Query

query — Отображение информации о процессах; сеансах; пользователя, вошедших на сервер; и серверах, обслуживающих подключение к удаленному рабочему столу

Qwinsta

qwinsta (эквивалент query session) — Отображение информации о сеансах служб удаленных рабочих столов.

С помощью этой команды можно узнать, активен ли сеанс пользователя и ID сеанса

Просто команда без каких либо ключей и параметров выводит список сеансов на текущем сервере:

qwinsta

Ключ /server позволит указать другой сервер:

qwinsta /server:servername

Показать информацию о сеансе конкретного пользователя:

Rds shadow (mstsc)

RDS Shadow — теневое подключение к сеансу пользователя

Shutdown

shutdown — перезагрузка или выключение компьютера. С необходимыми параметрами команда может быть использована для перезагрузки текущего компьютера/сервера, отложенной перезагрузки, удаленной перезагрузки другого компьютера, группы компьютеров, серверов и т.п. Команда имеет множество опций.

Так, например, команда shutdown со следующими параметрами:

Завершение терминальных сеансов (rdp)

Универсальные обработкиЧистка базыОбработка документовПрактика программированияОбработка справочниковСервисные утилитыv81cv8.cfАбонемент ($m)

Объекты: Справочник, Документ, ПланОбмена, ПВХ, Бизнес-процесс, Задача, ПланСчетов, ПВР.
Мультиобработчик:
-Проведение, перенумерация, движения, копирование, создание на основании, подчиненность, статистика, удаление документов.
-Регистрация изменений объекта(ов) в планах обмена.
-Установка/Отключение ГлавногоУзла РИБ.
-Поиск и восстановление “Битых” ссылок.
-Недопустимые символы XML/Дерево XML.
-Поиск и замена ссылок.
-Ошибки ИБ, в т.ч XML.
-Множество обработок справочников.
-GUID. Дата и время создания объектов ссылочного типа.
-Аналитика предопределенных, блокируемых реквизитов, ХранилищаЗначений.
-История изменений объекта.
-Активные пользователи.
-Подписки на события, функциональные опции.
-Загрузка пользователей ИБ из Windows, Active Directory.
-Выгрузка/Загрузка пользователей ИБ в/из внешний XML-файл.
-Поддержка различных режимов модальности.
Файловый, Клиент-Серверный варианты.
Обычная и Управляемая формы.

1 стартмани

28.12.2021   
174844   
8861   
StepByStep   
422    

Как удаленно отключить удаленный рабочий стол (службы терминалов) или сессии.

Время от времени, пользователи, которые пытаются установить службы терминалов или подключение удаленного рабочего стола в Windows 7 , Windows Vista, Windows Server 2008 (R2) , Windows Server 2003, Windows Server 2000, Windows Home Server или других RDP-серверов ,может появиться   сообщение об ошибке » терминальный сервер превысил максимально допустимое количество соединений «.

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

:/>  Bat файл для отключения обновления windows 10

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

Способ 1

  1. Диспетчер служб терминалов или удаленный рабочий стол Services Manager может быть использован для отключения и сброса любых служб терминалов или удаленного соединения Desktop. В зависимости от операционной системы, существуют различные способы, чтобы начать и запустить диспетчер служб терминалов.

Windows XP и Windows Server 2003:

Нажмите на ПускВыполнить и введите % SystemRoot% System32 tsadmin.exe

Windows Vista и Windows Server 2008:

Нажмите на Пуск и введите тип tsadmin.msc в поле Начать поиск.

Windows 7 и Windows Server 2008 R2 или выше:

Нажмите на Пуск и введите тип Remote Desktop Services Manager в поле Начать поиск.

Совет: На клиентской операционной системе или рабочей станции, удаленный Server Admin Tools (RSAT) должен быть установлен для менеджера на определение.

  1. После запуска Remote Desktop Services Manager или диспетчера служб терминалов, щелкните правой кнопкой на «Remote Desktop Services Manager» или «Все в список серверов» и выберите Подключение к компьютеру .
  2. Затем введите имя или IP-адрес сервера служб удаленного рабочего стола, которыми хотите управлять.

Войдите в систему на удаленном сервере, если потребуется.

  1. Прошедшие проверку сервера, будут перечислены на левой панели. Выберите нужный сервер который не отвечает на сеанс удаленного рабочего стола.
  2. На правой панели, перейдите на панель сессии.
  3. Щелкните правой кнопкой мыши на сессии, которая нужно отключить и выберите Отключить .

Способ 2

  1. Запустите окно командной строки.
  2. Пройдите аутентификацию на удаленном компьютере с помощью следующей команды:

net use /user:Administrator \<server name or IP address>C$

Замените имя сервера или IP-адрес компьютера с фактическими NetBIOS-имя или IP-адрес удаленного хоста. Например, net use /user:Administrator \188.8.8.8C$.

Введите пароль.

  1. Завершение любого существующего подключения удаленного рабочего стола или подключений служб терминалов с помощью следующей команды:

reset session <n> /server:<server name or IP address

Замените имя сервера или IP-адрес компьютера с фактическими NetBIOS-имя или IP-адрес удаленного хоста. Для <n>, введите число постепенно, начиная с 1, 2, 3 …, пока не появиться сообщение  « я не нашел ID сессию » которые не были возвращены как ошибка при выполнении команды. Например, «сброс сессии 1 / сервер: 188.8.8.8″.

:/>  Оцениваем состояние жёстких дисков при помощи S.M.A.R.T

Совет: уведомление не будет отображаться, когда сессия успешно завершается.

Метод 3

  1. Запустите окно командной строки, и пройдите проверку подлинности удаленного хоста с помощью следующей  команды:

net use /user:Administrator \<server name or IP address>C$

Замените имя сервера или IP-адрес компьютера с фактическими NetBIOS-именем  или IP-адрес удаленного хоста. Например, net use /user:Administrator \188.8.8.8C$.

Введите пароль.

Кроме того, из проводника Windows, карта для сетевого диска для обмена папками на целевом сервере, и войдите соответственно в систему.

  1. В командной строке введите следующую команду:

qwinsta /server:<server name or IP address

Где имя сервера или IP-адрес являются фактическим именем компьютера или IP-адрес удаленного хоста. Например,  qwinsta /server:188.8.8.8 .

  1. Будет отображаться список активных подключений к удаленному рабочему столу или сеансов служб терминалов. Определите «зависшие» связи и его ID.
  2. Для сброса и отсоединения подключений к удаленному рабочему столу или сессий, выполните следующую команду:

rwinsta <ID> /server:<server name or IP address

Замените <ID> с идентификатором сеанса который отождествляется с «qwinsta» командой, а имя сервера или IP-адрес на фактическое имя компьютера или IP-адрес удаленного хоста. Например,  rwinsta 1 /server:188.8.8.8 .

Примечание: qwinsta является запросом станции окна и rwinsta сбрасывает станции Window.

После того, как Remote Desktop или Terminal Services соединения завершат сеанс и отключаться, слот будет освобожден и Удаленный пользователь может удаленно Войти снова.

P.P.S. Если у Вас есть вопросы, желание прокомментировать или поделиться опытом, напишите, пожалуйста, в комментариях ниже.

Сброс зависших rdp сессий

Всем у кого в хозяйстве есть терминальные сервера на Windows приходится сталкиваться с зависшими сессиями.

Сессии частенько зависают, если пользователь просто закрыл окно терминала.

Естественно, все мы настраиваем параметры сброса сессий по времени и отключению пользователя, но бывает что сессии все равно не завершаются и тогда мы используем команды:

qwinsta — просмотр сессий

и

rwinsta — сброс сессий

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

:/>  Ошибка: Не удалось создать новый или найти существующий раздел

Скрипт получает список сессий qwinsta, выбирает сессии со статусом Диск (“*ЁбЄ*” — это тоже «Диск», просто в кривой кодировке, добавлено на всякий случай) и rwinsta сбрасывает сесии.
В скриптике rwinsta — закомментирована, чтоб сессии сбрасывались раскомментируйте.
В текущем виде скрипт просто покажет вам зависшие сессии.

# Сброс зависших сессий, добавьте в расписание на своем скрипт сервере
Function RDP_Resetfailure($server){	$ts = qwinsta /server:$server	$td = ($ts | where { ($_ -like "*Disc*" -or $_ -like "*Диск*" -or $_ -like "*ЁбЄ*" ) -and $_ -notlike "*services*"})	$tdselect = $td # Для отладки или внесения в лог: Login Id State	$td = $td -ireplace ("[^0-9]","") # оставляем только id сессий	for($i=0; $i -lt $td.Count; $i ){	Write-Host Reset RDP Failture session ID: $td[$i] $tdselect[$i] #отладка просмотр id сессий	#rwinsta $td[$i] /server:$server # сброс зависших сессий, раскомментируйте эту строку	}
}
$server = "MyRDPServer"
RDP_Resetfailure($server)


Добавка для тех кто предпочитает сбрасывать вручную или выборочно:

# Для корректного отображения русской кодировки в консоли
[Console]::outputEncoding = [System.Text.Encoding]::GetEncoding('cp866')
Function RDP_Resetfailure($server){	$ts = qwinsta /server:$server	$td = ($ts | where { ($_ -like "*Disc*" -or $_ -like "*Диск*" -or $_ -like "*ЁбЄ*" ) -and $_ -notlike "*services*"}) $tdselect = $td # Для отладки или внесения в лог: Login Id State	$td = $td -ireplace ("[^0-9]","") # оставляем только id сессий Clear-Host Write-Host " Список зависших сессий: "	for($i=0; $i -lt $td.Count; $i ){	Write-Host Reset RDP Failture session ID: $td[$i] $tdselect[$i] #отладка просмотр id сессий	} Write-Host if($td[0]){ Write-Host " - Для сброса всех сесcий введите 0 - Или введите ID сбрасывемой сессии ==================================== " $r = Read-Host -Prompt "Ваш выбор" Write-Host ============================= # ==== Сброс всех сессий! ===== if($r -eq 0 ){ Write-Host Write-Host ==== Сброс всех сессий! ===== for($i=0; $i -lt $td.Count; $i ){ Write-Host Reset RDP Failture session ID: $td[$i] $tdselect[$i] #отладка просмотр id сессий #rwinsta $td[$i] /server:$server # сброс зависших сессий, раскомментируйте эту строку Write-Host } } # Сброс сессии ID if($r -gt 0 ){ $tdu = $tdselect | where { $_ -match ' ' $r } Write-Host Reset RDP Failture session ID: $r $tdu #rwinsta $r /server:$server # сброс зависшей сессии, раскомментируйте эту строку } }
}
$server = "MyRDPServer"
RDP_Resetfailure($server)