用户会话超时强制注销

时间:2011-05-22 01:41:50

标签: vbscript batch-file session-timeout logoff

我一直在研究如何使用vbs或批处理创建脚本,以便为登录到通过组策略链接的特定计算机集的用户设置会话时间限制。 我不熟悉注销或定时脚本,我可以制作最简单的批处理脚本来将当前用户从机器上记录下来。我遇到的问题是由于时间限制而无法设置定时会话或运行注销脚本。 我研究了通过组策略进行设置,然后想出了在特定计算机上的用户启动时将脚本链接到组策略的想法。 我通过谷歌搜索关键短语找到了一个vbs,但我不确定如何使用注销脚本实现它或如何让它开始倒计时

echo.
echo Waiting For thirty minutes...     
TIMEOUT /T 1800 /NOBREAKS    
echo.    
echo (logoff)    
echo.
pause >nul

我计划使用的注销脚本遵循:

shutdown -l -f -t 30 -c "Your 30 minute session is over."

但是我无法显示评论,并且30秒的时间不会生效。

非常感谢任何帮助。谢谢你的阅读。

2 个答案:

答案 0 :(得分:0)

这样的事情怎么样?

Set oSystems = GetObject("winmgmts:{(Shutdown)}//./root/cimv2").ExecQuery("select * from Win32_OperatingSystem where Primary=true") 
For Each oSystem in oSystems    
    oSystem.Win32ShutdownTracker 3600,"Logging off...",0,4
Next 

答案 1 :(得分:0)

我知道这个问题已经过时了,但无论如何你都去了:

有一个名为invis.vbs的.vbs文件,并将其放在您想要限制的用户的Startup目录中。

它应包含以下内容(将#username#替换为用户名):

wscript.exe “C:\Users\#username#\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Start-up\invis.vbs” “C:\SessionLimit.bat”

现在将以下内容保存为C:\ Directory中名为SessionLimit.bat的批处理文件。 它应包含以下内容:

@echo off
timeout 1800 /nobreak 
shutdown /l ;;Replace this comment with /f if you want the log off to be forced without the Do you want to save your work interruption window.