正在寻找可以结束 Server 2008 R2 上的空闲会话共享的脚本。
如果会话打开的时间过长,则程序会由于文件/文件夹打开而无法更新。
我正在寻找运行一个脚本来在给定的时间段后关闭空闲会话。
我不想终止活动会话或使用终止所有命令只是在 12 小时后关闭空闲会话。
提前感谢您的帮助。
安德鲁
答案1
根据您的环境,您还可以配置组策略。使用以下位置的设置:
计算机配置\策略\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\会话时间限制
用户配置\策略\管理模板\Windows 组件\远程桌面服务\远程桌面会话主机\会话时间限制
您还可以通过远程桌面主机配置实用程序按主机执行此操作。它应该位于管理工具中。
欲了解更多信息,请查看以下有关该主题的技术网络文章: http://technet.microsoft.com/en-us/library/cc754272.aspx
希望有所帮助。
答案2
我们在 Server 2008 环境中使用以下脚本,但我确信它也适用于 R2。基本上,它会循环打开终端会话,如果会话空闲时间超过 59 分钟,它会结束会话。批处理文件:
@echo ON
setlocal ENABLEDELAYEDEXPANSION
for /F "Tokens=1-8*" %%a in ('net session^|Find "\\"') do (
call :sess %%a %%b %%c %%d %%e %%f %%g %%h %%i
@echo !comp! !idle!
)
endlocal
goto :EOF
:sess
set comp=%1
set idle=00:00:00
:sessL
shift
if {%1}=={} goto sessT
set idle=%1
goto sessL
:sessT
for /f "Tokens=1 Delims=:" %%x in ('@echo %idle%') do (
if "%%x" GEQ "00" net session %comp% /DELETE /Y
)