Ограничить время работы в Windows для локальных пользователей
В Windows 7 и 8.1 можно было ограничить время входа на компьютер для локальных учетных записей с помощью функции родительского контроля (Parental Control). Однако в Windows 10 и 11 аналогичный функционал родительского контроля (Microsoft Family Safety) доступен только для (облачных) учетных записей Microsoft. Однако вы все еще можете с помощью встроенных ограничить время работы (входа) на компьютере для локальных учетных записей Windows.
Например, вы хотите запретить некоторым локальным пользователям входить в Windows в любое время, кроме разрешенного (скорее всего вы оказались тут, чтобы ограничить время нахождения детей за компьютером 😊).
Я хочу разрешить вход в Windows для пользователя в будние дни с 9:00 до 10:00 и 14:00 до 19:00, а в выходные с 12:00 до 14:00. Из графического интерфейса Windows настроить разрешенные часы работы нельзя, но можно воспользоваться командой net user с параметром /time.
Синтаксис команды:
net user
Для моего сценария, когда нужно разрешить несколько доступных интервалов работы в день команда будет выглядеть так:
net user maksim /times:M-F,9:00-10:00,14:00-19:00;Sa-Su,12:00-14:00
- Разрешенное время должно быть кратно часу. Минуты задать нельзя.
- Расписания для дней разделяются точкой с запятой.
- Команда не должна содержать пробелы.
- Аббревиатуры для дней недели: M,T,W,Th,F,Sa,Su
Если пользователь попытается залогиниться на компьютер в запрещенное время, появится сообщение:
Your account has time limit restrictions that prevent you from signing in at this time. Please try again later.
Вы не можете сейчас войти в систему из-за ограничений вашей учетной записи. Попробуйте еще раз позже.
Вывести текущие настройки ограничения работы по времени (Logon hours allowed):
net user maksim
Если нужно отменить ограничения входа пользователя по времени:
net user maksim /time:all
Если разрешенные часы работы на компьютере истекли, нужно отключить или заблокировать его сессию. По умолчанию сеанс не блокируется. Чтобы принудительно отключить сессию пользователя, нужно настроить следующий параметр в редакторе локальной групповой политики (
gpedit.msc
):
- Перейдите в раздел User Configuration -> Administrative Templates -> Windows Components -> Windows Logon Options
- Включите политику Set Action to take when logon hours expire.
- В зависимости от желаемого поведения, выберите в настройках политики действие, которое нужно выполнить при истечении разрешенных рабочих часов. Lock, logoff или Disconnect. Чтобы пользователь не терял несохраненные документы, сессию лучше блокировать.
Можно включить этот параметр через реестр:
reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem /v LogonHoursAction /t REG_DWORD /d 0x1 /F
Теперь, когда за минуту до окончания разрешенного времени работы пользователь получит уведомление и его сессия будет заблокирована.
Sign-in time restrictions Your computer will be locked in 1 minutes due to sign-in time restrictions.
Таким образом, вы сможете настроить простейший родительский контроль и ограничивает время использования компьютера для детей.
Windows 11
Ограничить время работы в Windows для локальных пользователей