Ограничение времени работы пользователя в Windows: Logon Hours в AD и Родительский контроль
Задача: Запрет доступа к компьютеру в нерабочие часы
Ограничение времени работы требуется в двух случаях:
- В организациях: Запрет сотрудникам входить на рабочие компьютеры и терминальные серверы ночью и в выходные дни (требование безопасности ИБ для предотвращения кражи данных).
- Дома (Родительский контроль): Ограничение времени за ПК для детей (например, только с 16:00 до 20:00 по будням).
Способ 1. Настройка часов входа (Logon Hours) в Active Directory
В доменной сети Active Directory расписание входа задается в свойствах учетной записи за 1 минуту.
Пошаговая настройка в ADUC:
- Откройте оснастку Active Directory — пользователи и компьютеры (
dsa.msc). - Найдите нужного пользователя, кликните по нему правой кнопкой мыши → «Свойства».
- Перейдите на вкладку «Учетная запись» (Account) → нажмите кнопку «Часы входа...» (Logon Hours).
- Перед вами появится сетка: 7 дней недели по 24 часа.
- Выделите нерабочие часы (например, с 20:00 до 08:00 и полные выходные Сб-Вс) и выберите переключатель «Вход запрещен» (белые квадраты).
- Рабочие часы оставьте синими («Вход разрешен»).
- Нажмите «ОК» и «Применить».
Способ 2. Ограничение времени на домашнем ПК без домена (Команда net user)
Откройте Командную строку от имени администратора и задайте расписание командой:
# Разрешить пользователю Ivan вход с Пн по Пт с 09:00 до 18:00:
net user Ivan /time:M-F,09:00-18:00
# Снять все ограничения по времени:
net user Ivan /time:all Частые вопросы (FAQ)
Что видит пользователь при попытке входа в запрещенное время?
На экране блокировки появляется сообщение: «Ваша учетная запись имеет ограничение по времени. Вы не можете выполнить вход в данный момент. Повторите попытку позже».
По какому часовому поясу сверяются Logon Hours в Active Directory?
Вся сетка часов входа в графическом интерфейсе отображается по локальному часовому поясу компьютера администратора, но внутри базы данных сохраняется в формате UTC.
Завершит ли система несохраненные программы при наступлении часа блокировки?
По умолчанию Windows блокирует экран (Lock Workstation), не закрывая приложения. Если включена доменная политика принудительного разрыва сессий (ForceLogoff), сеанс завершится с потерей несохраненных данных.
Как быстро настроить часы входа сразу для 50 пользователей в AD?
Используйте PowerShell: `$hours = ...; Get-ADUser -Filter 'Department -eq "Sales"' | Set-ADUser -Replace @{logonHours = $hours}`.