не завершаются сеансы пользователей rdp

Ответить
Мирослав
Любопытный
Сообщения: 20
Зарегистрирован: 16 май 2017 14:52

не завершаются сеансы пользователей rdp

Сообщение Мирослав »

Здравствуйте.

Заметил, что не отрабатывает политика ограничения сеансов по времени как для отключенного так и для бездействующего. В gpedit в разделе службы удаленных раб.столов настроены ограничения 1 ч на бездействующего и 1 минута на завершение отключенного сеанса. В коллекции rdp так же проставлены настройки. Т.к. большинство пользователей не закрывает через пуск -выход , а через крестик сверху, то сеансы висят как отключенные без завершения и потребляют драгоценную память. Не могу понять, почему ни одна из настроек не отрабатывает.
Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 572
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

Re: не завершаются сеансы пользователей rdp

Сообщение Алексей Максимов »

Здравствуйте, Мирослав.

Решили ли Вы свою проблему? Если да, то в чём была причина возникновения проблемы?
Мирослав
Любопытный
Сообщения: 20
Зарегистрирован: 16 май 2017 14:52

Re: не завершаются сеансы пользователей rdp

Сообщение Мирослав »

Здравствуйте!

Решил путем написания небольшого скрипта, который отслеживает определенное свойство сессии rdp, disk вроде. Через некоторое время этот параметр сеанса имеет опр. значение: 0 или 1. Исходя из этого состояния, скрипт делает логофф пользователям с нужным мне состоянием. Задача закинута в планировщик и запускается каждый час в теч. 12 часов начиная с утра.
Мирослав
Любопытный
Сообщения: 20
Зарегистрирован: 16 май 2017 14:52

Re: не завершаются сеансы пользователей rdp

Сообщение Мирослав »

Не написал сам скрипт.


ipconfig|out-null;[Console]::OutputEncoding= [System.Text.Encoding]::GetEncoding("cp866")
$serverName = "localhost"
$sessions = query session /server $serverName| ?{ $_ -notmatch '^ СЕАНС' } | %{
$item = "" | Select "SessionName", "Username", "Id", "State", "Type"
$item.SessionName = $_.Substring(1,18).Trim()
$item.Username = $_.Substring(19,20).Trim()
$item.Id = $_.Substring(39,9).Trim()
$item.State = $_.Substring(48,8).Trim()
$item
}

foreach ($session in $sessions){

if ($session.SessionName -eq "" -and $session.State -eq "Диск"){
#$session.Username + " " + $session.State + " " + $session.SessionName
logoff /server $serverName $session.Id
}

}


В планировщике периодически слетает эта задача и при ручном запуске выходит ошибка о несуществующей задаче {0}. Уже удалял все задачи, регистрировал заново, потом опять появляется.
Мирослав
Любопытный
Сообщения: 20
Зарегистрирован: 16 май 2017 14:52

Re: не завершаются сеансы пользователей rdp

Сообщение Мирослав »

Здравствуйте!

Вот снова вернулся к этой проблеме, в предыдущих проблемах оставшихся висеть сеансах была политика домена. Оказалось, что на сервер была включена политика 12 часовой логофф, то есть выбрасывать только после 12 часового простоя. Отключили и штатно стало все завершаться. Но вот возникла на новом сервере, 2 недели только работает и у 2-х пользователей проблема со входом: насколько я понял, после часа неактивности срабатывает политика логофф, сеанс висит в состоянии "отключен", но выброс не сработал. Пользователь пытается войти, появляется окно авторизации с его именем, но поле пароль не активно, окно заморожено и не дает ничего ввести. Завершал taskkill все процессы под ней, логофф делал, все равно часть процессов поднимается и висит, не дает войти пока не сделаешь рестарт системе. На сервере стоит secret net и Kaspersky 10.1.2 для Win server. Во вложении список процессов, которые висят под пользователем. Безопасники говорят, что сикрет нет стоит не в активном режиме, но все же есть подозрение, что это он может выдавать такое. Плохо, что нельзя в онлайн режиме это проверить, удалить его и посмотреть что будет. Спасибо
Вложения
Screenshot_1.png
Screenshot_1.png (16.09 КБ) 13106 просмотров
Ответить

Вернуться в «Windows Server 2016»