Войти

Показать полную графическую версию : Как сделать батник для сброса RDP сессий


paull2006
17-07-2019, 10:28
Ситуация такая что изредка при завершении сеанса rdp сессии она просто подвисает (пишет в диспетчере что пользователь отключен). При повторном входе недает зайти. Помогает только перезагрузка. Как сделать батник чтобы он допустим ночью через планировщик отключал все сессии которые подвисли? Спасибо.

it3
17-07-2019, 13:38
Ситуация такая что изредка при завершении сеанса rdp сессии она просто подвисает (пишет в диспетчере что пользователь отключен). При повторном входе недает зайти. Помогает только перезагрузка. Как сделать батник чтобы он допустим ночью через планировщик отключал все сессии которые подвисли? Спасибо. »
LOGOFF [<имя сеанса> | <ИД сеанса>] [/SERVER:<сервер>] [/V] [/VM]

<имя сеанса> Имя сеанса.
<ID сеанса> Идентификатор сеанса.
/SERVER:<сервер> Сервер удаленных рабочих столов, содержащий пользователя пользователя (по умолчанию - текущий).
/V Отображение информации о выполненных действиях.
/VM Завершение сеанса на сервере или в виртуальной машине. Необходимо указать уникальный идентификатор сеанса.

paull2006
17-07-2019, 14:09
Ну я делаю так вот допустим что подключилось 3 пользователя ввожу команду
qwinsta /server:rabota (показывает кто сидит и мне нужно выкинуть компьютер test под id 1)
rwinsta / server:rabora 1 (и он мне выкидывает его)
А как прописать чтобы выкинул всех?

А вы предлагаете что бы было вот так:
logoff test /server:rabota
А если несколько пользователей то можно так или нет
logoff test1 /server:rabota
logoff test2 /server:rabota
logoff test3 /server:rabota

paull2006
17-07-2019, 14:29
Вот такую скрипт наковырял или это не то

@echo off
for /f "skip=1 tokens=1-3" %%a in ('query user^|find /v ">"') do set/a id=%%c& cmd/v/c "if /i "%%a" neq "%Username%" (if !id!==0 (logoff %%b) else (logoff %%c))"
exit

Ageron
17-07-2019, 15:03
Ситуация такая что изредка при завершении сеанса rdp сессии она просто подвисает (пишет в диспетчере что пользователь отключен). При повторном входе недает зайти »
сессия находится в состоянии завершения, поэтому и не дает зайти.

причины в ошибках или ПО которое не удается завершить.
вместо разработки скриптов, лучше найти и устранить причину.

paull2006
17-07-2019, 17:19
Вот что то не вижу ничего странного в событиях. Все работало как надо и тут на. Обнов не было. Грешу вот на принтеры читал что они могут влиять. Перенаправленные принтеры. Хотя может и нет.

Elven
18-07-2019, 09:14
paull2006, влиять может многое, а учитывая закидоны MS - даже то, что вроде бы влиять не может. Из моей практики чаще всего такие "висуны" образовывались из-за некорректного завершения сессии, или вовсе ее не завершении ("как RDP/RDS/что-то там завершали?" - "Крестиком!" - и на лице не обезображенном интеллектом святая уверенность в невиновности). А еще бывают нехорошие человеки из-за которых нельзя трогать параметр, позволяющий автоматически глушить сессию после N минут после отключения. Года два назад этот вопрос был решен радикально: перезагрузкой терминалок в заведомо нерабочее время (благо "нерабочий" диапазон это позволял - почти 8 часов).

Ageron
18-07-2019, 09:34
Вот что то не вижу ничего странного в событиях. »
в каких журналах смотрели? (приложения, система, TerminalServices-?)

смотрели какие процессы висят в сессии в которую не удается зайти?

paull2006
18-07-2019, 10:31
Если одна сессия виснет то и остальные зависают потом при завершении сеанса. Вчера после отключения пробросов принтеров вроде пока нормуль. Буду наблюдать если что напишу что да как.

s.i.p.a
19-07-2019, 18:07
А не пробовали настраивать GPEDIT.MSC?
Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Ограничение сеансов по времени.

cameron
20-07-2019, 00:35
Вот что то не вижу ничего странного в событиях. Все работало как надо и тут на. Обнов не было. Грешу вот на принтеры читал что они могут влиять. Перенаправленные принтеры. Хотя может и нет. »
а не нужно пока ничего в событиях искать. нужно просто в таскманагере глаза открыть и поглядеть какие процессы есть в "зависших" сессиях. почти уверена, что там окажется спулер.

paull2006
22-07-2019, 08:45
На всякий случай настроил это.

DJ Mogarych
31-07-2019, 22:26
https://anandthearchitect.com/2008/08/01/how-to-logoff-remote-desktop-sessions-via-command-line-tools/




© OSzone.net 2001-2012