Какой файл необходимо создать для запрета входа в систему непривилегированных пользователей
Друзья, в одной из недавних статей сайта мы рассмотрели 5 способов ограничения возможностей пользователей компьютеров, реализуемых за счёт превалирования учётных записей администраторов над стандартными и использования функционала типа «Родительский контроль». В этой статье продолжим тему осуществления контроля пользователей, которым мы вынуждены иногда доверять свои компьютеры, однако не можем быть уверенными в их действиях в силу неосознанности или неопытности. Рассмотрим, какие ещё действия детей и неопытных взрослых можно ограничить в среде Windows. И для этих целей будем использовать штатный инструмент локальной групповой политики, доступный в редакциях Windows, начиная с Pro.
↑ 5 способов ограничить возможности пользователя Windows 10
↑ 3. Только одно приложение из Windows Store
Свести совсем уж к минимуму возможности стандартного пользователя можно, ограничив его работу только с одним универсальным приложением. Редакция Windows 10 Pro предусматривает доступ к одному из приложений только из числа универсальных. А вот в редакциях системы Enterprise и Education в качестве единственного окна доступа учётной записи можно назначать браузер или десктопную программу. Такое ограничение настраивается в разделе управления учётными записями внутри приложения «Параметры».
В настройках ограниченного доступа необходимо указать учётную запись стандартного пользователя и единственное доступное ему приложение.
Примечание: друзья, в предыдущих версиях Windows существовал ещё один тип учётной записи - «Гость». Microsoft её специально предусмотрела для случаев временной работы встречных-поперечных пользователей, которым владелец компьютера вынужден давать его на время попользоваться, чтобы не прослыть скупердяем. В версии системы 10 этот тип учётной записи упразднён, но при желании её всё же можно организовать. Как это делается, читайте в этой статье.
Просмотр и удаление назначенных прав в Active Directory
На любую OU в AD можно назначить любое количество правил делегирования. Вы можете получить список групп и делегированные им права в свойствах OU в консоли ADUC. Перейдите на вкладку Security.
Здесь содержится список объектов AD, которым предсоатвлены разрешения на этот контейнер. Список предоставленных полномочий можно посмотреть на вкладке Advanced. Как вы видите для группы HelpDesk разрешен сброс паролей.
Вы можете лишить определенную группу администраивных прав, назначенных ранее через делегирование. В списке разрешений найдите группу, который вы делегировали права и нажмите Remove.
Также со вкладки Security -> Advanced вы можете самостоятельно настроить делегирование полномочий, назначая нестандартные разрешений различным группам безопасности.
RunAsInvoker в переменной окружения __COMPAT_LAYER
Переменная окружения __COMPAT_LAYER позволяет устанавливать различные уровни совместимости для приложений (вкладка Совместимость в свойствах exe файла). С помощью этой переменной можно указать настройки совместимости, с которыми нужно запускать программу. Например, для запуска приложения в режиме совместимости с Windows 7 и разрешением 640×480, установите:
set __COMPAT_LAYER=Win7RTM 640x480
Из интересных нам опций переменной __COMPAT_LAYER можно выделить следующие параметры:
- RunAsInvoker — запуск приложения с привилегиями родительского процесса без запроса UAC;
- RunAsHighest — запуск приложения с максимальными правами, доступными пользователю (запрос UAC появляется если у пользователя есть права администратора);
- RunAsAdmin — запуск приложение с правами администратора (запрос AUC появляется всегда).
Следующий код включает режим RUNASINVOKER для текущего процесса и запускает указанную программу:
start "" "C:\Program Files\MyApp\testapp.exe"
↑ 1. Тип учётной записи «Стандартный пользователь»
При установке любой версии Windows всегда создаётся учётная запись администратора, а внутри неё уже можно формировать сколь угодно учётных записей типа «Стандартный пользователь». Именно посредством таких и нужно делить компьютер с неопытными домочадцами. В Windows 10 создать другим пользователям отдельную среду для работы с компьютером можно в приложении «Параметры», в разделе «Учётные записи».
Тогда как с учётной записи администратора с Windows можно делать практически всё – устанавливать и запускать какой угодно софт, вносить в систему свои настройки, удалять любые, даже некоторые системные файлы, с учётной записи стандартного пользователя эти действия будут блокироваться. Стандартный пользователь сможет работать с Интернетом и программами, запуск которых неограничен получением разрешения на запрос UAC.
Такой подход не решит всех проблем, которые порождает совместное использование технологий в доме, но как минимум снизит риск заражения компьютера вирусами. И в части случаев предотвратит сбой работы Windows. По всем вопросам запуска программ, требующих прав администратора, стандартному пользователю придётся обращаться к вам. И вы сможете контролировать действия того, кому доверили своё устройство.
Зачем обычному приложению могут понадобится права администратора?
Права администратора могут потребоваться программе для модификации некоторых файлов (логи, файлы конфигурации и т.д.) в собственной папке в C:\Program Files (x86)\SomeApp). По умолчанию у пользователей нет прав на редактирование данного каталога, соответственно, для нормальной работы такой программы нужны права администратора. Чтобы решить эту проблему, нужно войти на компьютер под администратором и вручную предоставить пользователю (или встроенной группе Users) права на изменение/запись для этого каталога на уровне файловой системы NTFS.
Примечание. На самом деле практика хранения изменяющихся данных приложения в собственном каталоге в C:\Program Files неверна. Правильнее хранить данные приложения в профиле пользователя. Но это уже вопрос о лени и некомпетентности разработчиков программ.
↑ Групповая политика для всех пользователей компьютера
Групповая политика – это инструмент, с помощью которого можно гибко настроить работу Windows. Управление этим функционалом осуществляется посредством редактора gpedit.msc. Для быстрого запуска его название можно ввести в поле внутрисистемного поиска или команды «Выполнить». Редактор содержит две основных ветки параметров:
• «Конфигурация компьютера», где содержатся параметры для всего компьютера, то есть для всех его пользователей;
Внесение изменений непосредственно в окне редактора будет иметь силу для всех учётных записей. Если, например, заблокировать запуск каких-то программ, эта блокировка будет применена и для администратора, и для стандартных пользователей. Если на компьютере проводится работа с единственной учётной записи администратора, можно сразу приступать к рассмотрению конкретных параметров, которые приводятся в последнем разделе статьи. Но если у других членов семьи есть свои учётные записи, при этом ограничения не должны касаться администратора, потребуется ещё кое-что настроить.
↑ 4. Отключение и ограничение использования Интернета
Более гибкие настройки ограничения использования Интернета может предложить ПО типа «Родительский контроль», в том числе и штатный функционал Windows 10, который будет рассмотрен ниже. Пока же такое ПО в системе не настроено, от случая к случаю ограничивать стандартных пользователей в работе с Интернетом можно за счёт отключения сетевой карты или Wi-Fi адаптера и правки файла hosts. Включение/отключение сетевых устройств и замена редакции файла hosts требуют наличия прав администратора. Следовательно, стандартному пользователю без пароля администраторской учётной записи эти ограничения никак не удастся обойти.
Чтобы полностью отключить Интернет на компьютере, на значке сети в системном трее вызываем контекстное меню и отправляемся раздел сетевых настроек системы.
Переключаемся на раздел «Изменение параметров адаптера» и с помощью контекстного меню отключаем активность сетевой карты или Wi-Fi.
После нажатия «Ок» в системном проводнике обнаружим путь хранения файла hosts. Открываем его с помощью любого редактора TXT-файлов, например, штатного блокнота.
Домен указывается через пробел после цифровых значений, как показано на скриншоте. После чего сохраняем файл как текстовый в любом месте компьютера.
Включаем в проводнике отображение расширений файлов и переименовываем (клавиша F2) - убираем из имени «hosts.txt» расширение, то есть часть имени «.txt». Жмём Enter.
Теперь отправляемся по пути нахождения исходного файла hosts, удаляем его (или перемещаем куда-нибудь для хранения в качестве резервной копии), а на его место переносим только что отредактированный файл hosts с заблокированными сайтами. Для возврата настроек системы в исходное состояние либо возвращаем на место первую редакцию файла hosts, либо таким же образом правим текст существующей редакции и удаляем значения блокировки сайтов.
Ограничить вход на компьютеры в Active Directory с помощью GPO
В больших доменах использовать свойство пользователя LogonWorkstations для ограничения доступа пользователей к компьютерам нецелесообразно из-за ограничений и недостаточной гибкости. Для более гибкого управления правилами запрета/разрешения входа на компьютеры используют групповые политики.
Можно ограничить список пользователей в локальной группе Users с помощью политики Restricted Groups (см. пример использования политик Restricted Groups из раздела Windows Settings -> Security Settings для добавления пользователей в локальную группу администраторов). Но мы рассмотрим другой вариант.
Есть две групповые политики, которые находятся в разделе 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 с компьютерами, доступ к которым вы хотите ограничить.
В больших доменах можно использовать комбинацию этих политик. Например, вы хотите запретить пользователям входить на компьютеры других OU.
Для этого в каждой OU нужно создать группу безопасности, куда нужно включить всех пользователей OU.
Совет. Группы можно автоматически наполнять пользователями из OU с помощью PowerShell командлетов Get-ADUser и Add-ADGroupMember таким скриптом:
Import-module ActiveDirectory
$rootOU = “OU= Users,OU=MSK,DC=winitpro,DC=ru”
$group = “corp\msk-users”
Get-ADUser -SearchBase $rootOu -Filter * | ForEach-Object
Затем нужно включить параметр GPO Allow log on locally, добавить в него эту группу (+ различные администраторские группы: Domain Admins, администраторы рабочих станций и прочее) и назначить политику на OU с компьютерами. Таким образом вы разрешите входить на компьютеры только пользователям конкретного OU.
Обновите настройки GPO на клиентах. Теперь при попытке входа пользователя, которому не разрешен локальный метод входа, появится окно с предупреждением:
Несколько важных моментов касательно данных политик:
-
Не стоит применять данные политики, для ограничения доступа к серверам и тем более к контроллерам домена;
18.03.2021
itpro
Windows 10, Windows Server 2016
комментария 52
Многие программы при запуске требуют повышения прав (значок щита у иконки), однако на самом деле для их нормальной работы права администратора не требуется (например, вы можете вручную предоставить необходимые права пользователям на каталог программы в ProgramFiles и ветки реестра, которые используются программой). Соответственно, если на компьютере включен контроль учетных записей, то при запуске такой программы из-под непривилегированного пользователя появится запрос UAC и Windows потребует от пользователя ввести пароль администратора. Чтобы обойти этот механизм многие просто отключают UAC или предоставляют пользователю права администратора на компьютере, добавляя его в группу локальных администраторов. Microsoft не рекомендует использовать такие методы, т.к. это снижает безопасность компьютера.
↑ 2. Блокировка установки десктопного ПО
Права стандартного пользователя в актуальной версии Windows 10 (обновлённой до Creators Update) можно ещё больше ограничить, запретив установку в систему десктопного ПО. В учётной записи администратора открываем приложение «Параметры» и проходим в раздел «Приложения». В первой вкладке раздела нам нужна функция «Установка приложений». В её выпадающем перечне выбираем опцию, разрешающую установку на компьютер только универсальных приложений из магазина Windows Store.
В плане исследования новинок ему придётся довольствоваться только выбором контента из Windows Store. Ну или искать портативные программы, не требующие разрешения UAC.
↑ 5. Родительский контроль Windows 10
Каждое ПО, реализуемое в среде Windows функцию родительского контроля, имеет свои особенности. Возможности такой функции в составе Windows 10 позволяют гибко устанавливать и снимать ограничения для детских учётных записей, причём ещё и удалённо по Интернету - из веб-интерфейса учётной записи Microsoft. Правда, без Интернета управлять этой функцией нельзя. Применение к учётной записи родительского контроля позволит гибко ограничивать пользователя в действиях:
- Разрешать или запрещать доступ к определённому перечню сайтов;
- Запрещать покупку приложений из Windows Store;
- Разрешать доступ к компьютеру по графику;
- Блокировать запуск отдельного ПО (причём как универсальных приложений, так и десктопных программ);
- Отслеживать действия пользователя и т.п.
Указываем, что это ребёнок, вводим адрес электронной почты, к которой подвязана его учётная запись Microsoft.
Затем заходим в почтовый ящик ребёнка и по ссылке в письме от Microsoft подтверждаем его присоединение к семье. После этого в разделе «Семья» веб-интерфейса учётной записи Microsoft взрослого откроется доступ к настройкам родительского контроля ребёнка.
06.04.2022
itpro
Active Directory, PowerShell, Windows Server 2019, Групповые политики
комментария 24
Когда вы создаёте нового пользователя в Active Directory, он автоматически добавляется в группу Domain Users. Группа Domain Users в свою очередь по умолчанию добавляется в локальную группу Users на компьютере при добавлении его в домен AD. Это означает что любой пользователь домена может войти на любой компьютер в вашей сети. В этой статье мы рассмотрим, как ограничить вход пользователей на компьютеры домена и ограничить разрешенное время входа.
Разрешить вход на определенные компьютеры в свойствах пользователя AD
В свойствах (атрибутах) учетной записи пользователя Active Directory можно задать список компьютеров, на которые ему разрешено входить. Например, вы хотите, чтобы определенный пользователь мог войти только на свой компьютер. Для этого:
- Запустите оснастку ADUC (Active Directory Users and Computers), выполнив команду dsa.msc ;
- С помощью поиска найдите учетную запись пользователя, которому нужно ограничить вход только на компьютеры домена и откройте его свойства;
- Перейдите на вкладку Account и нажмите кнопку Log On To;
- Как вы видите, пользователю разрешено входить на все компьютеры (The user can log on to: All computer). Чтобы разрешить пользователю аутентифицироваться только на определенных компьютерах, выберите опцию The following computers и добавьте в список имена компьютеров, но которые ему разрешено входить;
Примечание. Нужно указывать полное NetBIOS или DNS имя компьютера (нельзя знаки подстановки использовать), параметр регистронезависимый.
С помощью оснастки 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, вы можете получить ошибку:
Для решения этой проблемы нужно добавить в список LogonWorkstation компьютер с которого (. ) осуществляется RDP вход.
Делегирование прав на сброс паролей и разблокировку учетных записей
Представим, наша задача – предоставить группе HelpDesk право на сброс пароля и разблокировку аккаунтов пользователей в домене. Итак, создадим новую группу в AD с помощью PowerShell:
New-ADGroup "HelpDesk" -path 'OU=Groups,OU=Moscow,DC=corp,dc=winitpro,DC=ru' -GroupScope Global
Добавьте в группу нужных пользователей:
Add-AdGroupMember -Identity HelpDesk -Members ivanovaa, semenovvb
Запустите консоль Active Directory Users and Computers (ADUC), щелкните ПКМ по OU с пользователями (в нашем примере это ‘OU=Users,OU=Moscow,DC=corp,dc=winitpro,DC=ru’) и выберите пункт меню Delegate Control.
Выберите группу, которой вы хотите предоставить административные полномочия.
Выберите из списка один из преднастроенных наборов привилегий (Delegate the following common tasks):
- Create, delete, and manage user accounts;
- Reset user passwords and force password change at next logon;
- Read all user information;
- Create, delete and manage groups;
- Modify the membership of a group;
- Manage Group Policy links;
- Generate Resultant Set of Policy (Planning);
- Generate Resultant Set of Policy (Logging);
- Create, delete, and manage inetOrgPerson accounts;
- Reset inetOrgPerson passwords and force password change at next logon;
- Read all inetOrgPerson information.
Либо создайте собственное задание делегирования (Create a custom task to delegate). Я выберу второй вариант.
Выберите тип объектов AD, на которые нужно предоставить права. Т.к. нам нужно предоставить права на учетные записи пользователей, выберите пункт User Object. Если вы хотите предоставить право на создание и удаление пользователей в этом OU, выберите опции Create/Delete selected objects in this folder. В нашем примере мы не предоставляем таких полномочий.
В списке разрешений нужно выбрать те привилегий, которые вы хотите делегировать. В нашем примере мы выберем право на разблокировку (Read lockoutTime и Write lockoutTime) и сброс пароля (Reset password).
Для поиска источника блокировки аккаунтов в домене службой поддержки пользователей нужно предоставить право поиска по журналам на контроллерах домена.
Нажмите Next и на последнем экране подтвердите назначение выбранных полномочий.
Теперь под учетной записью пользователя из группы HelpDesk попробуйте из PowerShell сбросить пароль пользователя из OU Users, например из PowerShell:
Set-ADAccountPassword petricdb -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “PPPPa$$w0rd1” -Force -Verbose) –PassThru
Пароль должен сброситься успешно (если он соответствует доменной политике паролей).
Теперь попробуйте создать пользователя в данной OU с помомью командлета New-ADUser:
New-ADUser -Name kalininda -Path 'OU=Users,OU=Moscow,OU=winitpro,OU=DC=ru' -Enabled $true
Должна появится ошибка доступа, т.к. вы не делегировали полномочий на создание учетных записей.
Для контроля действий пользователей, которым вы делегированными административные права, вы можете использовать журналы контроллеров домена. Например, вы можете отследить кто сбросил пароль пользователя в домене, узнать кто создал учетную запись пользователя в AD или отследить изменения в определённых группах AD.
Делегирование прав в Active Directory с помощью PowerShell
С помощью PowerShell вы можете вывести список прав, которые делегированы на OU или изменить текущие разрешения. Для получения и изменения прав в Active Directory используются командлеты Get-ACL и Set-ACL (эти же командлеты PowerShell используются для управления NTFS разрешения на файлы и папки).
Следующий простой скрипт выведет список нестандартных разрешений, которые делегированы на определенное организационное подразделение в AD:
Вы можете получить отчет с разрешениями в виде графической таблицы Out-GridView:
Или экспортировать права в CSV файл для дальнейшего анализа в Excel (из скрипта PowerShell можно писать строки напрямую в Excel файл):
$report | Export-Csv -Path "C:\ps\ADOU_Permissions.csv" –NoTypeInformation
В полученном отчете сразу видно, что для группы HelpDesk делегированы права на сброс паролей пользователей в OU.
Для делегирования прав на OU можно использовать утилиту dsacls. Например:
dsacls "ou=users,ou=msk, dc=winitpro,dc=ru" /I:S /G "WINITPRO\HELPDESK:CA;Reset Password;user" "WINITPRO\HELPDESK:WP;pwdLastSet;user" "WINITPRO\HELPDESK:WP;lockoutTime;user
Также вы можете назначить права на организационный контейнер с помощью PowerShell (в этом примере делегируются права на сброс пароля):
По аналогии с помощью PowerShell можно делегировать и другие права на организационные контейнеры AD.
Запуск программы, требующей права администратора, от обычного пользователя
Ранее мы уже описывали, как можно с помощью параметра RunAsInvoker отключить запрос UAC для конкретной программы. Однако этот метод недостаточно гибкий.
Также можно воспользоваться RunAs с сохранением пароля админа /SAVECRED в диспетчере паролей Windows (Credentials Manager). Это также небезопасно, т.к. пользователь может использовать сохранённый пароль учетной записи администратора для запуска других программ.
Рассмотрим более простой способ принудительного запуска любой программы без прав администратора (и без ввода пароля админа) при включенном UAC (4,3 или 2 уровень ползунка UAC).
Для примера возьмем утилиту редактирования реестра — regedit.exe (она находится в каталоге C:\windows\). Обратите внимание на щит UAC у иконки. Данный значок означает, что для запуска этой программы будет запрошено повышение привилегий через UAC.
Если запустить regedit.exe , то перед вами появится окно User Account Contol с запросом пароля пользователя с правами администратора на этом компьютере ( Do you want to allow this app to make changes to your device? ). Если не указать пароль и не подтвердить повышение привилегии, приложение не запустится.
Попробуем обойти запрос UAC для этой программы. Создайте на рабочем столе файл run-as-non-admin.bat со следующим текстом:
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"
Теперь для принудительного запуска приложения без прав администратора и подавлением запроса UAC, просто перетащите нужный exe файл на этот bat файл на рабочем столе.
После этого редактор реестра должен запуститься без появления запроса UAC и без ввода пароля администратора. Откройте диспетчер процессов, добавьте столбец Elevated и убедитесь, что в Windows 10 запустился непривилегированный процесс regedit (запущен с правами пользователя).
Попробуйте отредактировать любой параметр в ветке HKEY_LOCAL_MACHINE. Как вы видите доступ на редактирование реестра в этой ветке запрещен (у данного пользователя нет прав на запись в системные ветки реестра). Но вы можете добавлять и редактировать ключи в собственной ветке реестра пользователя — HKEY_CURRENT_USER.
Аналогичным образом через bat файл можно запускать и конкретное приложение, достаточно указать путь к исполняемому файлу.
run-app-as-non-admin.bat
Set ApplicationPath="C:\Program Files\MyApp\testapp.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"
Также можно добавить контекстное меню, которое добавляет у всех приложений возможность запуска без повышения прав. Для этого создайте файл runasuser.reg файл, скопируйте в него следующий код, сохраните и импортируйте его в реестр двойным щелчком по reg файлу (понадобятся права администратора).
Можно распространить этот пункт меню на компьютеры в домене через импорт ветки реестра с помощью групповых политики.
После этого для запуска любого приложения без прав админа достаточно выбрать пункт “Run as user without UAC elevation” в контекстном меню проводника Windows File Explorer.
Еще раз напомню, что использование программы в режиме RUNASINVOKER не позволит вам получить повышенные права для программы. Параметр AsInvoker подавляет сообщает UAC и сообщает программе, что она должна запуститься с правами текущего пользователя и не запрашивать повышение привилегий. Если программе действительно нужны повышенные права для редактирования системных параметров или файлов, она не будет работать или повторно запросит права администратора.
↑ Ограничения пользователей компьютера с помощью локальной групповой политики
Включаем режим RunAsInvoker через манифест exe файла программы
Как мы уже говорили выше, Windows 10 показывает значок щита UAC у программ, которые для запуска требуют повышение привилегий. Это требование разработчики задают при разработке в специальной секции программы — манифесте.
Вы можете отредактировать манифест exe файла программы и отключить требование запускать программу в привилегированном режиме.
Для редактирования манифеста программы можно использовать бесплатную утилиту Resource Hacker. Откройте исполняемый файл программы в Resource Hacker.
В дереве слева перейдите в раздел Manifest и откройте манифест программы.
Обратите внимание на строки:
Именно благодаря опции requireAdministrator Windows всегда запускает эту программу с правами администратора.
Измените requireAdministrator на asInvoker и сохраните изменения в exe файле.
Обратите внимание, что теперь у иконки программы пропал щит UAC и вы можете запустить ее без запроса прав администратора с привилегиями текущего пользователя.
Если исполняемый файл программы подписан подписью MS Authenticode (сертификатом Code Signing), то после модификации exe файла он может перестать запускаться или выдавать предупреждение.
В этом случае можно заставить программу использовать внешний файл манифеста. Создайте в каталоге с ехе файлом текстовый файл app.exe.manifest (например Autologon.exe.manifest) и скопируйте в него код манифеста из Resource Hacker. Измените requireAdministrator на asInvoker. Сохраните файл.
Чтобы Windows при запуске приложений всегда пробовала использовать внешний файл манифеста, включите специальный параметр реестра:
REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide" /v PreferExternalManifest /t REG_DWORD /d 1 /f
Перезагрузите Windows и убедитесь, что программа использует внешний файл манифеста, в котором указано, что нужно запускаться без прав администратора.
11.03.2022
itpro
Active Directory, PowerShell, Windows Server 2019
комментария 22
В этой статье мы рассмотрим особенности делегирования полномочий в домене Active Directory. Делегирование позволяет предоставить право на выполнение некоторых задач управления AD обычным пользователям домена, не включая их в привилегированные доменные группы, такие как Domain Admins, Account Operators и т.д.. Например, с помощью делегирования вы можете предоставить определённой группе пользователей (допустим, Helpdesk) право на добавление пользователей в группы, заведение новых пользователей в AD и сброс пароля.
↑ Групповая политика для отдельных учётных записей
Как сделать так, чтобы с помощью локальной групповой политики можно было вносить изменения только для отдельных учётных записей? Возможность управления этим инструментом системы в части применения изменений не для всех, а лишь для выбранных пользователей компьютера, появится, если редактор добавить в качестве оснастки консоли ММС. С помощью внутрисистемного поисковика или команды «Выполнить» запускаем штатную утилиту mmc.exe. В меню «Файл» консоли выбираем «Добавить или удалить оснастку».
Самый лучший способ сделать так, чтобы никто из домочадцев не испытывал интерес к вашему личному компьютеру – купить каждому из них по своему компьютеру. Но, увы, не каждая семья может себе позволить такую роскошь. Ведь если покупать не ноутбук, а десктоп, нужно ещё и позаботиться об обустройстве компьютерного места в доме. Если своё виртуальное пространство всё же приходится делить с близкими, чтобы не накалять обстановку, тогда как хотя бы защитить его? Как минимум от ненамеренных действий детей или взрослых людей, но полных новичков. Ниже рассмотрим 5 способов такой защиты, реализуемых в среде Windows 10. Итак…
Изменяем атрибут 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
$comparray = $complist -join ","
Set-ADUser -Identity $ADusername -LogonWorkstations $comparray
Clear-Variable comparray
С помощью командлета Get-ADUser команды можно вывести список компьютеров, на которые разрешено входить пользователю:
Get-ADUser $ADusername -Properties LogonWorkstations | Format-List Name, LogonWorkstations
Либо можно посмотреть список компьютеров в консоли ADUC.
Чтобы добавить в список новый компьютер, воспользуйтесь такой командой:
$Wks = (Get-ADUser dvivannikov -Properties LogonWorkstations).LogonWorkstations
$Wks += ",newpc"
Set-ADUser aapetrov -LogonWorkstations $Wks
Предоставление права на добавление компьютеров в домен AD
По умолчанию любой пользователь домена может присоединить в домен 10 компьютеров. При добавлении в домен 11-го компьютера появится ошибка:
Вы можете изменить это ограничение на уровне всего домена, увеличив значение в атрибуте ms-DS-MachineAccountQuota (ссылка). Либо (гораздо правильнее и безопаснее), делегировав право на ввод компьютеров в домен в определенной OU конкретной группе пользователей (helpdesk). Для этого нужно предоставить право создавать объекты типа (Computer objects). В мастере делегирования выберите Create selected objects in this folder.
А в секции Permissions выберите Create All Child Objects.
Если вы хотите делегировать права на перемещение объектов между организационными подразделениями в AD, нужно предоставить следующие расрешения: Delete User objects, Write Distinguished Name, Write name (**), Create User (или Computer) objects.
Особенности делегирования прав в Active Directory
Для делегирования прав в AD используется мастер Delegation of Control Wizard в графической оснастке Active Directory Users and Computers (DSA.msc).
Административные права в AD можно делегировать на довольно детальном уровне. Одной группе можно предоставить право на сброс пароля в OU, другой – на создание и удаление аккаунтов, третьей на сброс пароля. Можно настроить наследование разрешений на вложенные OU. Вы можете делегировать права в AD на четырех уровнях:
- Сайта AD;
- Всего домена;
- Конкретной OU в Active Directory;
- Конкретного объекта AD.
Несколько рекомендаций по правильному использованию делегирования администраивных полномочий в AD:
- Не рекомендуется делегировать разрешения непосредственно для кокретных учетных записей пользователей. Вместо этого создайте в AD новую группу безопасности, добавьте в нее пользователя и делегируйте полномочия на OU для этой группы. Если вам понадобится предоставить такие же права в домене еще одному пользователю, вам будет достаточно добавить его в группу безопасности;
- Старайтесь не использовать запрещающих разрешений, т.к. они имеют приоритет над разрешающими;
Ограничить часы входа пользователя в Active Directory
В свойствах учетной записи пользователя вы можете ограничить время входа учетной записи. Например, вы можете разрешить пользователю входить на компьютеры домена только в рабочие часы с 8:00 до 19:00.
Если вам нужно применить одинаковы ограничения Logon Hours для нескольких пользователей, проще всего использовать PowerShell. Сначала вручную настройте ограничения для одного пользователя, а затем используете значение его атрибута logonHours в качестве шаблона для других пользователей. Например, вы хотите ограничить время входа для группы удаленных пользователей:
$templateuser='a.khramov'
$templatehours= Get-ADUser -Identity $templateuser -properties logonHours
Get-ADGroupmember "msk-VPN_Users" |foreach >
Если пользователь попытайся войти в компьютер за пределами разрешенных logonhours, он получит ошибку:
В 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
При включении этих политик SMB сервера будут отключать подключения пользователей, чьи часы работы просрочены.
Читайте также: