Вот пара однострочников на powershell, которые позволяют выгнать отключенных и неактивных пользователей с терминального сервера.

Выгоняем (logoff) всех в состояниии Disconnect и всех у кого IDLE TIME больше часа:

quser | foreach { (($_.trim() -replace "\s{2}",",")) } | foreach { (($_ -replace ",{2,}",",")) } | foreach { (($_ -replace "\s","")) } | ConvertFrom-Csv | Where-Object {$_.IDLETIME -like '*:*'} | foreach {((iex 'logoff $_.SESSIONNAME'))}

Выгоняем всех в состояниии Disconnect и тех, у кого время IDLE TIME больше заданного (в данном случае 20 минут):

quser | foreach { (($_.trim() -replace "\s{2}",",")) } | foreach { (($_ -replace ",{2,}",",")) } | foreach { (($_ -replace "\s","")) } | ConvertFrom-Csv | Where-Object {($_.IDLETIME -match "\d" ) } | Where-Object { ([int64]($_.IDLETIME -replace "[:.]","")) -gt 20 } | foreach {((iex 'logoff $_.SESSIONNAME'))}
Enter your comment. Wiki syntax is allowed:
 
  • ms_windows_ms_sql/logoff_users_with_long_idletime_using_powershell.txt
  • Last modified: 2019/02/11 09:13
  • by 127.0.0.1