Принудительный выход из сеанса пользователя - PullRequest
0 голосов
/ 22 мая 2011

Я провел небольшое исследование о том, как создать сценарий с использованием 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 голосов
/ 12 октября 2016

Я знаю, что этот вопрос старый, но все равно вы идете:

есть файл .vbs с именем invis.vbs и поместите его в каталог автозагрузки пользователя, которого вы хотите ограничить.

Он должен содержать следующее (замените # username # именем пользователя):

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

Теперь сохраните нижеприведенный пакетный файл с именем SessionLimit.bat в каталоге C: \. Он должен содержать следующее:

@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.
0 голосов
/ 23 мая 2011

Как насчет чего-то подобного?

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 
...