Перейти к содержимому

Таймер простоя истек как отключить

  • автор:

Таймер простоя истек как отключить

[решено] Изменить время простоя

Сообщения: 46
Благодарности: 0

Доброго времени суток.
У меня такая проблема. На Win2003 установлен терминальный сервер. Когда пользователь подключается к нему(терминальному серверу), все работает отлично, но при совсем небольшом простое выходит окно с запросом логина и пароля пользователя (у меня они прописаны в клиенте и коннект происходит сразу, без ввода пользователем пароля и имени, так как по инструкции пользователь не должен знать свои логин и пароль)
Быть может кто-то знает, где изменить время простоя или же совсем убрать.
Заранее спасибо!

Настраиваемые таймауты простоя и сеанса

В Windows Server 2008 R2 администратор может сконфигурировать таймауты простоя и сеанса для сервера шлюза RD. Таймаут простоя (idle) используется для возврата неис­пользованных ресурсов. Если пользовательский сеанс простаивает дольше заданного вре­мени, то сеанс шлюза RD отключается. Когда подобное случается, пользователь сохраняет возможность при желании восстановить сеанс. Таймаут сеанса обеспечивает возможность периодического применения новых политик к активным пользовательским соединениям. Обновление политик означает, что к существующим сеансам могут быть применены из­менения политики авторизации соединения удаленных рабочих столов (Remote Desktop connection authorization policy — RD CAP) либо политики авторизации ресурсов удаленных рабочих столов (Remote Desktop resource authorization policy — RD RAP).

Фоновая аутентификация и авторизация сеансов

Если время таймаута истекло, сеанс может быть либо отключен, либо молча заново аутентифицирован и авторизован. При включенной фоновой аутентификации и авториза­ции запросы на аутентификацию и авторизацию для сеанса автоматически выполняются в фоновом режиме, не требуя никакого вмешательства.

Сообщения системы и входа

Когда пользователь запустил сеанс шлюза RD, администратор может определить со­общения системы и входа. Сообщения системы могут применяться для информирования пользователей об изменениях состояния системы, предстоящем обслуживании сервера и тому подобном. Сообщение входа может служить для отображения при входе пользователя предупреждающих сообщений относительно прав пользования защищенными ресурсами.

Применение перенаправления устройств

Шлюз RD позволяет разрешить только клиентам удаленных рабочих столов подклю­чаться к серверам RD Session Host и RD Virtualization Host, которые осуществляют безо­пасное перенаправление устройств. Это изменение призвано предотвратить на удаленных клиентах переопределение вредоносным кодом политик безопасности, настроенных адми­нистратором. Однако это новое средство поддерживается только на клиентах RDC 7.0 и более поздних.

Рекомендуем для просмотра:

  • Брокер подключений к удаленным рабочим столам — 03/04/2013 04:34
  • Веб-доступ к удаленным рабочим столам — 03/04/2013 04:30
  • Подключаемая аутентификация и авторизация — 03/04/2013 04:27

Похожие темы:

  • Шлюз удаленных рабочих столов — 03/04/2013 04:21
  • Узел виртуализации удаленных рабочих столов — 02/04/2013 04:55
  • Совместимость с RDS программ установки — 02/04/2013 04:52

Таймеры бездействия отображения, спящего режима и режима гибернации

В традиционных спящем режиме (S3) и современных резервных системах реализовано как время ожидания простоя дисплея, так и тайм-аут простоя в спящем режиме. Причина предоставления двух отдельных тайм-аутов заключается в том, чтобы система оставалась включенной и полностью запущенной, но экономия электроэнергии путем выключения дисплея. Если пользователь устанавливает два тайм-аута на современном резервном компьютере, модель питания похожа на модель, используемую большинством смартфонов: когда экран выключен, система всегда находится в режиме малой мощности и всегда подключена к Интернету.

Мобильные системы также поддерживают состояние acpi Hibernate (S4). Гибернация используется для уменьшения заряда батареи во время спящего режима, сохраняя всю информацию в памяти на диске и полностью отключая систему. Хотя современные резервные системы поддерживают состояние Гибернации (S4), оно не вводится автоматически после фиксированного периода времени в спящем режиме. Вместо этого Windows управляет режимом гибернации интеллектуально, используя его только при необходимости, чтобы сохранить время работы батареи пользователя. Это связано с тем, что современный режим ожидания является постоянно низким энергопотреблением с длительным сроком работы батареи. Современный резервный компьютер похож на смартфон — немногие пользователи будут мириться со своим смартфоном периодически выключаться и входить в режим гибернации. Вместо этого пользователи будут ожидать, что система будет оставаться включенной и подключенной, но работать в режиме с низким энергопотреблением.

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

Это время ожидания больше не поддерживается, начиная с Windows 8.1. В Windows 10 экран автоматически затемняется за 10 секунд до отключения.

Это время ожидания больше не поддерживается, начиная с Windows 8.1. В Windows 10 экран автоматически затемняется за 10 секунд до отключения.

При истечении этого времени ожидания дисплей немедленно выключается. Однако система продолжает работать, и все приложения продолжают работать в обычном режиме, как если бы дисплей был включен.

При истечении этого времени ожидания дисплей немедленно выключается. Однако система продолжает работать, и все приложения продолжают работать в обычном режиме, как если бы дисплей был включен.

Существует 5-секундный льготный период между выключением дисплея и при срабатывании уведомления о выключении экрана.

Перевод компьютера в спящий режим

При истечении этого времени ожидания система немедленно переходит в состояние спящего режима ACPI (S3). Выполнение всех приложений прекращается, так как все процессоры будут выключены.

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

По истечении этого таймера система выходит из спящего режима ACPI (S3) и немедленно переходит в режим гибернации ACPI (S4) для экономии электроэнергии.

Это время ожидания не рекомендуется для современных резервных систем.

В современном режиме ожидания есть аналитика для внутреннего управления гибернации, и установка отдельного времени ожидания гибернации может привести к потере некоторых функций.

Отключение и завершение простаивающих сеансов на серверах Remote Desktop Session Host в зависимости от дня месяца и членства в доменной группе

Как правило, для отключения неактивных и завершения отключенных сессий на серверах сеансов служб удалённых рабочих столов Remote Desktop Session Host в Windows Server 2012 R2 администраторы используют возможности групповых политик домена Active Directory. Однако иногда может возникать потребность в управлении неактивными сеансами по хитрым правилам, которые невозможно уложить в рамки стандартных механизмов GPO или даже GPP. В таких случаях для управления сеансами можно прибегнуть к возможностям PowerShell.

В рассматриваем примере стоит задача организовать управление неактивными сеансами в ферме RD Connection Broker (RDCB) с несколькими серверами RD Session Host (RDSH) исходя из того условия, что все пользователи в ферме RDS делятся на две категории:

    1. Стандартные пользовали, для которых используются одинаковые правила сессионных таймаутов вне зависимости от каких-либо факторов. Правила :
      • Отключение простаивающих сеансов — через 1 час
      • Завершение отключённых сеансов — через 2 часа
    2. Пользователи со специальным режимом сессионных таймаутов, который действует только в определённые дни месяца (с 25 числа каждого месяца по 5 число каждого последующего месяца). В эти дни данная группа пользователей выполняет круглосуточные расчёты, в том числе и в отключенных сеансах, поэтому сессии не должны отключаться. В остальные дни месяца сессионные таймауты применяются по аналогии со стандартными пользователями из п.1.

    Отделение пользователей со специальным режимом выполняется с помощью членства в доменной группе безопасности Active Directory.

    Пример реализации в виде PS-скрипта RDS-Logoff-Inactive.ps1 :

    # Требования к модулям PS: ActiveDirectory, RemoteDesktop # # Члены специальной группы $SpecialGroup не затрагиваются при отключении # простаивающих и завершении отключенных сессий в дни месяца из $SpecialDays # Блок переменных # $SpecialDays - Дни месяца, в которые члены группы $SpecialGroup не отключаются # $MaxConnectedInactiveTime - Время простоя в подключенном состоянии, затем отключение сессии (мс) # $MaxDisconnectedTime - Время простоя с момента отключения сессии (мс) # $ConnectionBroker = "" $SessionHostCollection = "RDCollection1" $SpecialGroup = "RDS-Extended-Session-Users" $SpecialDays = @(01,02,03,04,05,25,26,27,28,29,30,31) $MaxConnectedInactiveTime = 3600000 # 1 час $MaxDisconnectedTime = 7200000 # 2 часа $LogFilePath = $($script:MyInvocation.MyCommand.Path).Replace('.ps1','.log') # Функция загрузки модуля PowerShell # Function Load-Module ($MName)  $retVal = $true If (!(Get-Module -Name $MName))  $retVal = Get-Module -ListAvailable | Where  $_.Name -eq $MName > If ($retVal)  Try  Import-Module $MName -ErrorAction SilentlyContinue > Catch  $retVal = $false > > Else  Write-Host $MName "Module does not exist. Please check that the module is installed." > > Return $retVal > # Функция записи в лог-файл # Function WriteLog ($Text)  $TimeStamp = (Get-Date).ToString("dd.MM.yyyy HH:mm:ss") Write-Host $Text Add-Content $LogFilePath "$($TimeStamp)`t $Text" > # Загрузка модулей PowerShell # If (!(Load-Module "ActiveDirectory")) return> If (!(Load-Module "RemoteDesktop")) return> $GroupMembers = Get-ADGroupMember -Identity $SpecialGroup -Recursive $ToDayIsSpecial = $SpecialDays -contains $(Get-Date -Format dd) If ($ConnectionBroker -eq "")  $HAFarm = Get-RDConnectionBrokerHighAvailability $ConnectionBroker = $HAFarm.ActiveManagementServer > $Sessions = Get-RDUserSession -ConnectionBroker $ConnectionBroker -CollectionName $SessionHostCollection ForEach ($Session in $Sessions)  # Пропускаем пользователей из специальной группы в специальные дни # If ($ToDayIsSpecial -eq $true -and $GroupMembers.SamAccountName -contains $Session.UserName)Continue> # Пропускаем активные сессии # If ($Session.SessionState -eq "STATE_ACTIVE")Continue> # Отключаем простаивающие сессии # If ($Session.SessionState -eq "STATE_CONNECTED" -and $Session.IdleTime -ge $MaxConnectedInactiveTime)  Try  WriteLog "Disconnect RD User: $($Session.UserName) `t Server: $($Session.HostServer) `t Session disconnect time: $($Session.DisconnectTime.ToString("dd.MM.yyyy HH:mm:ss")) `t Idle time: $([TimeSpan]::FromMilliseconds($Session.IdleTime).ToString())" Disconnect-RDUser -HostServer $Session.HostServer -UnifiedSessionID $Session.UnifiedSessionId -Force -ErrorAction Stop > Catch  WriteLog "ERROR! Can't disconnect RD User: $($Session.UserName) `t Server: $($Session.HostServer) `n $($_)" > Continue > # Завершаем отключенные сессии # If ($Session.SessionState -eq "STATE_DISCONNECTED" -and $Session.IdleTime -ge $MaxDisconnectedTime)  Try  WriteLog "Logoff RD User: $($Session.UserName) `t Server: $($Session.HostServer) `t Session disconnect time: $($Session.DisconnectTime.ToString("dd.MM.yyyy HH:mm:ss")) `t Idle time: $([TimeSpan]::FromMilliseconds($Session.IdleTime).ToString())" Invoke-RDUserLogoff -HostServer $Session.HostServer -UnifiedSessionID $Session.UnifiedSessionId -Force -ErrorAction Stop > Catch  WriteLog "ERROR! Can't logoff RD User: $($Session.UserName) `t Server: $($Session.HostServer) `n $($_)" > > >

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

    Скрипт размещаем на каким-нибудь сервере, отличном от серверов RDSH, на которых будет выполняться скриптовая обработка сессий. Например, можно разместить этот скрипт на сервере с ролью RD Connection Broker (RDCB), если эта роль работает на выделенном сервере. Для выполнения скрипта на выбранном сервере потребуется установка PowerShell-модулей RemoteDesktop и ActiveDirectory. Если первый модель уже присутствует на сервере RDCB, то второй можно доустановить PS-командой:

    Install-WindowsFeature -Name "RSAT-AD-PowerShell"

    Автоматический периодический запуск скрипта можно настроить в Task Scheduler от имени специально созданной сервисной учётной записи Group Managed Service Account (gMSA). Пример того, как создать и установить учётную запись gMSA можно найти в статьях Вики:

    • Создание учётных записей MSA и gMSA
    • Установка учётных записей MSA и gMSA на серверы

    В нашем примере в домене AD создана учётная запись gMSA с именем KOM\s-S06$ и установлена на сервере RDCB. Эта учётная запись должна быть включена в локальную группу Administrators на всех серверах RDSH, сессиями которых мы планируем управлять из скрипта. Также учётной записи gMSA на сервере RDCB потребуется дать права на чтение каталога со скриптом и права на запись в файл лога (для этого потребуется предварительно создать пустой лог-файл).

    Прежде, чем создавать задание планировщика по запуску скрипта, выполним его проверочный запуск от имени учётной записи gMSA с помощью утилиты PsExec :

    PsExec64.exe -i -u KOM\s-S06$ -p ~ cmd.exe

    Запустив в контексте пользователя gMSA интерпретатор командной строки cmd.exe, попробуем выполнить скрипт:

    powershell.exe -NoProfile -command "C:\Scripts\RDS-Logoff-Inactive.ps1"

    Если скрипт отработал как надо и создал записи в лог-файл об отключенных и завершённых сессиях в ферме RD Connection Broker, выполняем его добавление в планировщик заданий Task Scheduler:

    $Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -command `"C:\Scripts\RDS-Logoff-Inactive.ps1`"" $Trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 15) -RepetitionDuration ([System.TimeSpan]::MaxValue) $SvcUser = New-ScheduledTaskPrincipal -UserID KOM\s-S06$ -LogonType Password Register-ScheduledTask -TaskName "RDS Logoff Inactive Users" -Action $Action -Trigger $Trigger -Principal $SvcUser

    Таким образом, задание планировщика каждые 15 минут будет подключаться к ферме RDCB, получать из фермы информацию о всех сессиях пользователей на серверах RDSH и отключать простаивающие и завершать отключенные сессии пользователей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *