---
title: Как разрешить или запретить пользователям вход на компьютеры в домене AD?
description: "# **Как разрешить или запретить пользователям вход на компьютеры в домене AD?** Когда вы создаёте нового пользователя в Active Directory, он автоматически добавляется в группу Domain Users. Группа Domain Users в свою очередь по умолчанию добавляется в локальную группу Users на…"
url: "https://itoservice.ru/docs/kak-razreshit-ili-zapretit-polzovatelyam-vkhod-na-kompyutery-v-domene-ad/"
updated: "2026-10-23"
category: Windows
---

# Как разрешить или запретить пользователям вход на компьютеры в домене AD?

# **Как разрешить или запретить пользователям вход на компьютеры в домене AD?**

Когда вы создаёте нового пользователя в Active Directory, он автоматически добавляется в группу Domain Users. Группа Domain Users в свою очередь по умолчанию добавляется в локальную группу Users на компьютере при добавлении его в домен AD. Это означает что любой пользователь домена может войти на любой компьютер в вашей сети. В этой статье рассмотрено, как ограничить вход пользователей на компьютеры домена и ограничить разрешенное время входа.

## **Разрешить вход на определенные компьютеры в свойствах пользователя AD**

В свойствах (атрибутах) учетной записи пользователя Active Directory можно задать список компьютеров, на которые ему разрешено входить. Например, вы хотите, чтобы определенный пользователь мог войти только на свой компьютер. Для этого:

1. Запустите оснастку ADUC (Active Directory Users and Computers), выполнив команду **dsa.msc** ;
2. С помощью поиска найдите учетную запись пользователя, которому нужно ограничить вход только на компьютеры домена и откройте его свойства;
3. Перейдите на вкладку **Account** и нажмите кнопку **Log On To**;
   ![logon-to ad пользователь](https://winitpro.ru/wp-content/uploads/2018/08/logon-to-ad-polzovatel.png)
4. Как вы видите, пользователю разрешено входить на все компьютеры (The user can log on to: All computer). Чтобы разрешить пользователю аутентифицироваться только на определенных компьютерах, выберите опцию **The following computers** и добавьте в список имена компьютеров, но которые ему разрешено входить;
   ![разрешить пользвоателю вход только на следующие компьютеры](https://winitpro.ru/wp-content/uploads/2018/08/razreshit-polzvoatelyu-vhod-tolko-na-sleduyushie-ko.png) **Примечание.** Нужно указывать полное NetBIOS или DNS имя компьютера (нельзя знаки подстановки использовать), параметр регистронезависимый.
5. Количество компьютеров, которые можно добавить в этот список ограничено 64. При попытке добавить 65 компьютер появится сообщение об ошибке: *This property is limited to 64 values. You must remove some of the existing values before you can add new ones.*![word-image.png](https://winitpro.ru/wp-content/uploads/2018/08/word-image.png)
6. Сохраните изменения. Теперь пользователь может входить только на указанные компьютеры.

 С помощью оснастки Active Directory Administrative Center ( **dsac.msc** ) и с помощью PowerShell вы можете разрешить пользователю входить более чем на 65 компьютер. Однако максимальное значение ограничивается типом данных атрибута Logon-Workstation в схема Active Directory (Octet String). В Windows Server 2016 + в этом атрибуте может содержаться до 8192 символов (в предыдущих версиях Windows Server 2003-2012 использовалось ограничение 1024 символов).

Еще одна интересная особенность появляется, если вы ограничили пользователю список компьютеров разрешенных для входа с помощью атрибута LogonWorkstation.
При попытке подключится к удаленному компьютеру (RDS ферме) по RDP, вы можете получить ошибку:

```
The system administrator has limited the computers you can log on with.
```

```
Системный администратор ограничил количество компьютеров с которых вы можете войти в систему.
```

Для решения этой проблемы нужно добавить в список LogonWorkstation компьютер с которого (!!!) осуществляется RDP вход.

## **Изменяем атрибут LogonWorkstations с помощью PowerShell**

Вручную заполнять список компьютеров, на которые разрешено входить пользователю домена довольно утомительно. С помощью PowerShell можно автоматизировать это действие. Список компьютеров, на которые разрешено входить пользователю хранится в атрибуте пользователя в AD – **LogonWorkstations**. Например, наша задача разрешить определенному пользователю входить только на компьютеры, чьи имена содержатся в текстовом файле computers.csv (в этом примере в первой строке файла должно содержаться имя столбца – NetBIOSName).

Скрипт может выглядеть так (сначала загружаем модуль AD для Powershell):

Import-Module ActiveDirectory
$ADusername = ‘aapetrov’
$complist = Import-Csv -Path "C:\\PS\\computers.csv" | ForEach-Object {$_.NetBIOSName}
$comparray = $complist -join ","
Set-ADUser -Identity $ADusername -LogonWorkstations $comparray
Clear-Variable comparray

![powershell изменить атрибут LogonWorkstations](https://winitpro.ru/wp-content/uploads/2018/08/powershell-izmenit-atribut-logonworkstations.png)

 Для изменения атрибутов пользователя Active Directory используется командлет **Set-ADUser**.

С помощью командлета Get-ADUser команды можно вывести список компьютеров, на которые разрешено входить пользователю:

Get-ADUser $ADusername -Properties LogonWorkstations | Format-List Name, LogonWorkstations

Либо можно посмотреть список компьютеров в консоли ADUC.

![logon workstations](https://winitpro.ru/wp-content/uploads/2018/08/logon-workstations.png)

Чтобы добавить в список новый компьютер, воспользуйтесь такой командой:

$Wks = (Get-ADUser dvivannikov -Properties LogonWorkstations).LogonWorkstations
$Wks += ",newpc"
Set-ADUser aapetrov -LogonWorkstations $Wks

## **Ограничить часы входа пользователя в Active Directory**

В свойствах учетной записи пользователя вы можете ограничить время входа учетной записи. Например, вы можете разрешить пользователю входить на компьютеры домена только в рабочие часы с 8:00 до 19:00.

1. Для этого откройте свойства пользователя в оснастке ADUС, перейдите на вкладку и нажмите кнопку **Logon Hours **(Время входа);
   ![active directory задать разрешенные часы работы пользователю](https://winitpro.ru/wp-content/uploads/2018/08/active-directory-chasy-raboty-polzovatelya.jpg)
2. По умолчанию для пользователей не ограничено время входа в домена (все выделено синим);
3. Выделите диапазоны времени, в которые вы хотите запретить вход пользователя и нажмите **Logon Denied** (цвет диапазонов, в которые запрещено логиниться пользователям изменится на белый).
   ![пользователь ad: задать logonhours](https://winitpro.ru/wp-content/uploads/2018/08/ad-user-zadat-logon-hours.jpg)

Если вам нужно применить одинаковы ограничения Logon Hours для нескольких пользователей, проще всего использовать PowerShell. Сначала вручную настройте ограничения для одного пользователя, а затем используете значение его атрибута logonHours в качестве шаблона для других пользователей. Например, вы хотите ограничить время входа для группы удаленных пользователей:

$templateuser='a.khramov'
$templatehours= Get-ADUser -Identity $templateuser -properties logonHours
Get-ADGroupmember "msk-VPN_Users" |foreach {Set-ADUSer $_.samaccountname -Replace @{logonHours = $templatehours.logonHours} }

Если пользователь попытайся войти в компьютер за пределами разрешенных logonhours, он получит ошибку:

```
Account restrictions are preventing this user from signing in. For example: blank passwords aren't allowed, sign-in times are limited, or a policy restriction has been enforced.
```

![не могу войти в windows account restrictions](https://winitpro.ru/wp-content/uploads/2018/08/ne-mogu-voyti-v-windows-account-restrictions.jpg)

В Windows нет встроенного функционала по принудительному завершению сессии пользователе, если его рабочее время закончено. Для гарантированного выполнения **logoff** можно создать простое задание планировщика и распространить его через GPO.

Также обратите внимание на два параметра GPO в разделе to **Computer configurations**->**Policies** ->**Windows Settings** -> **Security Settings** ->**Local Policies** -> **Security Options**.

- **Network security: Force logoff when logon hours expire**
- **Microsoft network server: Disconnect clients when logon hours expire**

![gpo: автоматическое отключение пользоватлей с истекшими logohours](https://winitpro.ru/wp-content/uploads/2018/08/gpo-otkluchat-klientov-s-istekshimi-logohours.jpg)

При включении этих политик SMB сервера будут отключать подключения пользователей, чьи часы работы просрочены.

## **Ограничить вход на компьютеры в Active Directory с помощью GPO**

В больших доменах использовать свойство пользователя LogonWorkstations для ограничения доступа пользователей к компьютерам нецелесообразно из-за ограничений и недостаточной гибкости. Для более гибкого управления правилами запрета/разрешения входа на компьютеры используют групповые политики.

Можно ограничить список пользователей в локальной группе Users с помощью политики Restricted Groups. Но мы рассмотрим другой вариант.

Есть две групповые политики, которые находятся в разделе **Computer Configuration** -> **Policies** -> **Security Settings** -> **Local Policies**-> **User Rights Assignment** (**Конфигурация пользователя** -> **Политики** -> **Параметры безопасности** -> **Локальные политики** -> **Назначение прав пользователя**):

- **Deny log on locally** (Запретить локальный вход) – позволяет запретить локальный вход на компьютеры для определенных пользователей или групп. ;
- **Allow log on locally** (Локальный вход в систему) – содержит список пользователей и групп, которым разрешено входить на компьютер локально.

Например, чтобы запретить пользователям определенной группы входить на компьютеры в определенной Organizational Unit (OU), вы можете создать отдельную группу пользователей, добавить ее в политику Deny log on locally и назначить ее на OU с компьютерами, доступ к которым вы хотите ограничить.

![политика Deny log on locally (Запретить локальный вход)](https://winitpro.ru/wp-content/uploads/2018/08/politika-deny-log-on-locally-zapretit-lokalnyj.png)

![назначить политики denylogon на OU](https://winitpro.ru/wp-content/uploads/2018/08/naznachit-politiki-denylogon-na-ou.png)

В больших доменах можно использовать комбинацию этих политик. Например, вы хотите запретить пользователям входить на компьютеры других OU.

Для этого в каждой OU нужно создать группу безопасности, куда нужно включить всех пользователей OU.

 **Совет.** Группы можно автоматически наполнять пользователями из OU с помощью PowerShell командлетов **Get-ADUser** и **Add-ADGroupMember** таким скриптом:

 

Import-module ActiveDirectory
$rootOU = “OU= Users,OU=MSK,DC=itoservice,DC=ru”
$group = “corp\\msk-users”
Get-ADUser -SearchBase $rootOu -Filter \* | ForEach-Object {Add-ADGroupMember -Identity $group -Members $_ }

 

Затем нужно включить параметр GPO** Allow log on locally**, добавить в него эту группу (+ различные администраторские группы: Domain Admins, администраторы рабочих станций и прочее) и назначить политику на OU с компьютерами. Таким образом вы разрешите входить на компьютеры только пользователям конкретного OU.

Обновите настройки GPO на клиентах. Теперь при попытке входа пользователя, которому не разрешен локальный метод входа, появится окно с предупреждением:

```
You cannot log on because the logon method you are using is not allowed on this computer.  Please see your network administrator for more information.
```

Или

```
The sign-in method you are trying to use isn’t allowed. For more info, contact your network administrator.
```

![The sign-in method you are trying to use isn’t allowed](https://winitpro.ru/wp-content/uploads/2018/08/the-sign-in-method-you-are-trying-to-use-isnt-all.png)

Несколько важных моментов касательно данных политик:

 

- Не стоит применять данные политики, для ограничения доступа к серверам и тем более к контроллерам домена;
- Не включаете эти политики через стандартные GPO: Default Domain Policy или Default Domain Controllers Policy;
- Запрещающая политика имеет больший приоритет;
- Не забывайте про сервисные учетные записи(в том числе gMSA), которые могут использоваться для запуска служб на компьютерах;
- Не стоит применить политики, ограничивающие локальный вход на весь домен. Назначайте их на конкретные OU;
- Пользователи смогут подключаться компьютерам с помощью интерактивных RDP сессий несмотря на запрет локального входа. Для этого нужно, чтобы на компьютере был включен протокол RDP и учетная запись пользователя находилась в группе Remote Desktop Users.
