4

Из учетной записи администратора Windows 7 я настроил запланированное задание с максимальными привилегиями, которое выполняет файл .cmd, который выполняет

shutdown -s -f -t 120

если пользователь вошел в систему и его прошедшие разрешенные часы.

Пользователь имеет только права пользователя, но он все еще может отменить принудительное отключение моего администратора, введя в поле Выполнить

shutdown -a. 

Как я могу предотвратить отмену пользователя и выданное администратором завершение работы? UAC включен. Благодарю.

Мой последний .cmd это:

@echo off for /f "delims=" %%? in ('tasklist /v^| findstr /B /C:"explorer.exe"') do call :USERis %%? :USERis echo/%*|find "username">nul 2>&1&&(set "liet=username") echo/%*|find "Administrator">nul 2>&1&&(set "liet=Administrator") echo/%liet% if %liet%==username ( msg /server:localhost * /time:120 "Computer is shutting down in 2 minutes!" timeout /T 120 shutdown -s -f -t 0 -c "Computer is shutting down!" ) else ( echo Admin logged in! echo Do nothing exit ) exit

Запланировано запускать его каждые 3 минуты в течение 8 часов, когда ПК должен быть отключен для пользователя. Таким образом, даже если компьютер перезагружается, он все равно отключается, если пользователь вошел в систему. Bios имеет пароль для установки, время и дату нельзя изменить из профиля пользователя. Не проверял, работает ли меню загрузки BIOS (для загрузки Linux и изменения времени). Пользователи Linux глупы, хотя.

1 ответ1

3

На этот вопрос есть 2 разных ответа. Тот, который прямо отвечает на ваш вопрос, и тот, который вам следует настроить.

Решение вашего вопроса

Вы не можете запретить пользователю прерывать выключение с помощью таймера, но если вы измените выключение на -t 0 (немедленное выключение), его нельзя предотвратить с помощью команды shutdown -a. Для этого вы можете запустить вторую задачу, которая запускается через 2 минуты и которая завершит работу -s -f -t 0, чтобы выключить компьютер. Пользователь сначала увидит таймер на 2 минуты, и даже если он прервет его, система выключится через 2 минуты.

Как вы должны решить это

Windows предлагает Родительский контроль с часами входа. Установка этого параметра приведет к выходу пользователя из системы по истечении времени входа в систему. В отличие от вашего решения, пользователь не может просто включить компьютер и / или войти в систему. Если они попытаются, они получат сообщение: часы входа истекли. Подождите, пока вам не разрешат войти снова.

Чтобы настроить это, сделайте следующее:

  1. Перейти в start -> Control Panel
  2. В правом верхнем углу установите View by to Category если это еще не сделано.
  3. Нажмите на Set up parental controls for any user .
  4. Нажмите на пользователя, которого вы хотите ограничить.
  5. Установите для параметра «Родительский контроль» значение (x) On, enforce current settings
  6. Нажмите Time limits
  7. Нарисуйте / заполните блоки, где пользователь не может использовать компьютер. Вы можете использовать перетаскивание из верхнего левого угла, чтобы заполнить большую область блоков.
  8. Нажмите на Ok, чтобы сделать этот финал.

Это оно. Пользователь будет предупрежден до выхода из системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .