#vbscript #batch-file #session-timeout #logoff
#vbscript #пакетный файл #тайм-аут сеанса #выход из системы
Вопрос:
Я провел небольшое исследование о том, как создать скрипт с использованием vbs или batch, чтобы установить ограничение по времени сеанса для пользователей, регистрирующихся на определенном наборе компьютеров, связанных через групповую политику. Я не знаком с сценариями выхода из системы или тайминга, я могу создать простейший пакетный скрипт для выхода текущего пользователя с компьютера. Проблема, с которой я сталкиваюсь, заключается в невозможности установить сеанс по расписанию или запустить скрипт выхода из системы из-за ограничения по времени. Я исследовал его настройку с помощью групповой политики, затем пришла идея связать скрипт с групповой политикой при запуске для пользователей на определенном наборе компьютеров. Я нашел 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-секундное время не влияет.
Любая помощь была бы высоко оценена. Спасибо за чтение.
Комментарии:
1. Спасибо, rd1966, я смог придумать небольшой пакетный скрипт, единственная проблема, с которой я сейчас сталкиваюсь, — это связать его с объектом групповой политики для запуска при входе пользователя в систему / выходе из системы. Для тех, кто ищет что-то вроде того, что мне было нужно, вот способ запланировать выполнение задачи через 30 минут, чтобы перезагрузить компьютер, если пользователь не выйдет из системы. Вот что я придумал: Сначала отключите скрипт, чтобы включить службу и создать задачу- schtasks /delete / tn Logoff /f sc config schedule start= автоматическое расписание запуска sc schedules /create /tn «Logoff» /tr E:Logoff.bat / sc минута /mo 30 /ru SYSTEM
2. —Мне пришлось добавить удаление задачи в начале на случай, если кто-то другой вошел в систему до того, как она остановила задачу. Затем, чтобы перезагрузить компьютер- schtasks / delete / tn Logoff / f shutdown -r -t 25 -f — Еще раз я добавил удаление задачи, чтобы компьютер не продолжал перезагружаться. Что я хочу сделать с объектом групповой политики, так это поместить первый скрипт, связанный с входом пользователя в систему, затем поместить удаление задачи при выходе из системы, единственное, что я не могу сделать, это выяснить, что указать в параметрах …. любая помощь была бы с благодарностью!pprreciated!
Ответ №1:
Как насчет чего-то подобного?
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
Ответ №2:
Я знаю, что этот вопрос старый, но здесь вы все равно идете:
создайте файл .vbs с именем invis.vbs и поместите его в каталог запуска пользователя, которого вы хотите ограничить.
Он должен содержать следующее (замените #username# на имя пользователя):
wscript.exe “C:Users#username#AppDataRoamingMicrosoftWindowsStart MenuProgramsStart-upinvis.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.