Тайм-аут сеанса пользователя принудительно вышел из системы

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

Любая помощь будет принята с благодарностью. Спасибо за чтение.


person E-squared2333    schedule 22.05.2011    source источник
comment
Спасибо, rd1966, я смог придумать небольшой пакетный скрипт, единственная проблема, с которой я сейчас столкнулся, это связать его с GPO для запуска при входе/выходе пользователя. Для тех, кто ищет что-то вроде того, что мне нужно, здесь есть способ запланировать выполнение задачи через 30 минут, чтобы перезагрузить компьютер, если пользователь не выйдет из системы. Вот что я придумал: во-первых, сценарий для включения службы и создания задачи - schtasks /delete/tn Logoff /f sc config schedule start= auto sc start schedule schtasks /create /tn Logoff /tr E:\Logoff .bat /sc мин. /mo 30 /ru СИСТЕМА   -  person E-squared2333    schedule 25.05.2011
comment
--- Пришлось в начале добавить удаление задачи на случай, если кто-то еще зайдет в систему до того, как она остановит задачу. Затем перезагрузить компьютер - schtasks /delete /tn Logoff /f shutdown -r -t 25 -f --- Еще раз я добавил удаление задачи, чтобы комп не перезагружался. То, что я хочу сделать с GPO, это поставить первый скрипт, связанный с входом пользователя в систему, а затем поставить удаление задачи при выходе из системы, единственное, что я не могу сделать, это выяснить, что поставить под параметры... , любая помощь будет принята с благодарностью!   -  person E-squared2333    schedule 25.05.2011


Ответы (2)


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

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 
person rd1966    schedule 23.05.2011

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

создайте файл .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.
person J03L    schedule 12.10.2016