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

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

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

Сообщение Мирослав » 29 мар 2018 07:45

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

Заметил, что не отрабатывает политика ограничения сеансов по времени как для отключенного так и для бездействующего. В gpedit в разделе службы удаленных раб.столов настроены ограничения 1 ч на бездействующего и 1 минута на завершение отключенного сеанса. В коллекции rdp так же проставлены настройки. Т.к. большинство пользователей не закрывает через пуск -выход , а через крестик сверху, то сеансы висят как отключенные без завершения и потребляют драгоценную память. Не могу понять, почему ни одна из настроек не отрабатывает.

Аватара пользователя
Алексей Максимов
Администратор сайта
Сообщения: 537
Зарегистрирован: 14 сен 2012 06:50
Откуда: г.Сыктывкар
Контактная информация:

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

Сообщение Алексей Максимов » 04 ноя 2018 12:20

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

Решили ли Вы свою проблему? Если да, то в чём была причина возникновения проблемы?

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

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

Сообщение Мирослав » 14 янв 2020 21:59

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

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

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

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

Сообщение Мирослав » 06 фев 2020 09:07

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


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}. Уже удалял все задачи, регистрировал заново, потом опять появляется.


Ответить

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