User Account Control (UAC) или контроль учетных записей – это функция безопасности Windows включенная по умолчанию и предназначенная для предотвращения нежелательных изменений в ОС. Если программа пытается выполнить действие, требующее прав администратора (например, установить программу, изменить настройки ОС, ветки реестра или системные файлы), UAC уведомляет об этом и запрашивает подтверждения этих действий у администратора. Тем самым снижается риск несанкционированных изменений и выполнения вредоносного кода с правами администратора.
В этой статье мы рассмотрим, как управлять настройками контроля учетных записей в Windows
Как выглядит окно UAC? Например, при попытке повышения привилегий процесса в сессии пользователя с правами локального администратора, появляется окно подтверждения UAC:
Контроль учетных записей Разрешить этому приложению вносить изменения на вашем устройстве?
User Account Control Do you want to allow this app to make changes to your device?
Настройки контроля учётных записей (UAC) в Windows
Для управления настройками UAC в панели управления Windows доступен специальный апплет Change User Account Control settings, который можно запустить из классической панели управления или с помощью команды
UserAccountControlSettings.exe
.
С помощью ползунка можно выбрать уровень контроля учетных записей на компьютере. Доступно 4 уровня:
- Уровень 4 — Always notify — Всегда уведомлять (максимальный уровень защиты UAC);
- Уровень 3 — Notify only when programs try to make changes to my computer (default) – Уведомить только когда программа пытается внести изменения в мой компьютер (используется в Windows по умолчанию);
- Уровень 2 — Notify only when programs try to make changes to my computer (do not dim my desktop) – то же что и предыдущий уровень, но без переключения на Secure Desktop с блокировкой рабочего стола;
- Уровень 1 — Never notify – Никогда не уведомлять
Обратите внимание, что перевод ползунка в нижнее положение Никогда не уведомлять, не отключает UAC полностью. Этот режим включает автоматическое подтверждения запросов на повышение прав, инициированных администратором, без отображения окна с запросом UAC. В сессиях пользователей запросы повышения прав автоматически откланяются.
Чтобы полностью отключить UAC, нужно отключить параметр локальной политики Контроль учетных записей: все администраторы работают в режиме одобрения администратором (User Account Control: Run all administrators in Admin Approval Mode). Об этом ниже.
Управление параметрами User Account Control через GPO
Возможно управление параметрами контроля учетных записей UAC в Windows через групповые политики. Имена политик, относящихся к UAC, начинаются с User Account Control (Контроль учетных записей) и находятся в разделе редактора GPO Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options (Конфигурация компьютера –> Конфигурация Windows –> Параметры безопасности –> Локальные политики).
Доступно 12 параметров GPO. В следующей таблице представлен список политик UAC, и соответствующие им параметры реестра (ветка HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System) и возможные значения (в том числе значения по-умолчанию).
Имя политики | Ключ реестра | Значения | |
User Account Control: Admin Approval Mode for the Built-in Administrator account | Контроль учетных записей: использование режима одобрения администратором для встроенной учетной записи администратора |
FilterAdministratorToken
| 0 (Default) = Disabled 1 = Enabled |
User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop | Контроль учетных записей: разрешать UIAccess-приложениям запрашивать повышение прав, не используя безопасный рабочий стол |
EnableUIADesktopToggle
| 0 (Default) = Disabled 1 = Enabled |
User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode | Контроль учетных записей: поведение запроса на повышение прав для администраторов в режиме одобрения администратором |
ConsentPromptBehaviorAdmin
| 0 = Elevate without prompting 1 = Prompt for credentials on the secure desktop 2 = Prompt for consent on the secure desktop 3 = Prompt for credentials 4 = Prompt for consent 5 (Default) = Prompt for consent for non-Windows binaries |
User Account Control: Behavior of the elevation prompt for standard users | Контроль учетных записей: поведение запроса на повышение прав для обычных пользователей |
ConsentPromptBehaviorUser
| 0 = Automatically deny elevation requests 1 = Prompt for credentials on the secure desktop3 (Default) = Prompt for credentials |
User Account Control: Detect application installations and prompt for elevation | Контроль учетных записей: обнаружение установки приложений и запрос на повышение прав |
EnableInstallerDetection
| 1 = Enabled 0 = Disabled (default) |
User Account Control: Only elevate executables that are signed and validated | Контроль учетных записей: повышение прав только для подписанных и проверенных исполняемых файлов |
ValidateAdminCodeSignatures
| 0 (Default) = Disabled 1 = Enabled |
User Account Control: Only elevate UIAccess applications that are installed in secure locations | Контроль учетных записей: повышать права только для UIAccess-приложений, установленных в безопасном местоположении |
EnableSecureUIAPaths
| 0 = Disabled 1 (Default) = Enabled |
User Account Control: Run all administrators in Admin Approval Mode | Контроль учетных записей: включение режима одобрения администратором |
EnableLUA
| 0 = Disabled 1 (Default) = Enabled |
User Account Control: Switch to the secure desktop when prompting for elevation | Контроль учетных записей: переключение к безопасному рабочему столу при выполнении запроса на повышение прав |
PromptOnSecureDesktop
| 0 = Disabled 1 (Default) = Enabled |
User Account Control: Virtualize file and registry write failures to per-user locations | Контроль учетных записей: при сбоях записи в файл или реестр виртуализация в размещение пользователя | EnableVirtualization | 0 = Disabled 1 (Default) = Enabled |
User Account Control: Behavior of the elevation prompt for administrators running with Administrator Protection | опции появилbсь в Windows 11 в конце 2024 для управления новой функцией
Local Administrator Protection
| ||
User Account Control: Configure type of Admin Approval Mode |
Ползунок User Account Control и соответствие параметров реестра (GPO)
Когда вы меняете уровень защиты UAC с помощью ползунка в панели управления, Windows изменяет значения следующих параметров реестра.
Уровень ползунка UAC |
PromptOnSecureDesktop
|
EnableLUA
|
ConsentPromptBehaviorAdmin
|
4 — Всегда уведомлять | 1 | 1 | 2 |
3 — Уведомлять при попытках приложений изменить параметры | 1 | 1 | 5 |
2- Уведомлять без затемнения экрана | 0 | 1 | 5 |
1 — Отключить UAC и не уведомлять | 0 | 1 | 0 |
Таким образом, если вы хотите через GPO задать параметры UAC, соответствующие уровню ползунка вам достаточно настроить 3 параметра политик (указаны выше).
Например, для UAC уровень 3 (Notify only when programs try to make changes to my computer) нужно внедрить такие параметры в реестр:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"PromptOnSecureDesktop"=dword:00000001
"EnableLUA"=dword:00000001
"ConsentPromptBehaviorAdmin"=dword:00000005
"ConsentPromptBehaviorUser"=dword:00000003
"EnableInstallerDetection"=dword:00000001
"EnableVirtualization"=dword:00000001
"ValidateAdminCodeSignatures"=dword:00000000
"FilterAdministratorToken"=dword:00000000
Значения параметров ConsentPromptBehaviorUser, EnableInstallerDetection, EnableVirtualization, ValidateAdminCodeSignatures и FilterAdministratorToken будут одинаковыми для всех уровней.
Как полностью отключить UAC в Windows через GPO?
Рассмотрим, как через групповые политики отключить контроль учетных записей в Windows.
На отдельном компьютере можно использовать редактор локальный групповой политики
gpedit.msc
. Если нужно применить политику на множестве компьютерлв в домене, нужно использовать консоль Group Policy Management Console —
gpmc.msc
(рассмотрим этот вариант).
- В консоли управления доменными GPO щелкните по OU с компьютерами, на которых вы хотите отключить UAC и создайте новую политику
- Отредактируйте политику и перейдите в разделComputer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options;
- Для полного отключения UAC установите следующие значения параметров:
- User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode =
Elevate without prompting
;
- User Account Control: Detect application installations and prompt for elevation =
Disabled
; - User Account Control: Run all administrators in Admin Approval Mode =
Disabled
; - User Account Control: Only elevate UIAccess applications that are installed in secure locations =
Disabled
.
- Чтобы обновить настройки групповых политик на компьютерах и отключить UAC, нужно перезагрузить их.
Также можно точечно отключать UAC только для некоторых пользователей/компьютеров через реестр, а настройки распространить через Group Policy Preferences.
Создайте новый параметр реестра в ветке GPO Computer Configuration -> Preferences -> Windows Settings -> Registry со следующими настройками:
- Action: Replace
- Hive: HKEY_LOCAL_MACHINE
- Key Path: SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
- Value name: EnableLUA
- Value type: REG_DWORD
- Value data: 0
Затем перейдите на вкладку Common и включите опции:
- Remove this item when it is no longer applied
- Item-Level targeting
Нажмите на кнопку Targeting и укажите компьютеры, или доменные группы, на которые должна применяться политика отключения UAC.
Вы можете изменить значение любого параметра из редактора реестра или из командной строки. Например, чтобы отключить UAC на компьютере (потребуется перезагрузка) можно выполнить команду:
reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f.
Или аналогичная команда на PowerShell:
New-ItemProperty -Path HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -PropertyType DWord -Value 0 -Force
Выставляю 3 или 4 уровень через GPO. После этого при работе от обычного пользователя система перестает спрашивать логин и пароль, просто появляется сообщение «Вы не имеете достаточных привилегий…» Как сделать через GPO чтобы система спрашивала логин и пароль админа? Если GPO выключить и просто установить ползунок на 3 или 4 уровень, то всё работает как надо. Но хочется именно через GPO добиться желаемого результата.
Какое приложение запускаете? Есть подозрения, что оно не находится в системных каталогах %windir% или Program Files.
Или же подавляется появления окна UAC для всех приложений?
Относительно ключей реестра. Может и не принципиально, а может и сказаться, но их состав указан не верно, а именно:
FilterAdministratorToken лишний. Не смотря на то, что он указан в документации, но реально в реестре отсутствует во всех Level.
EnableSecureUIAPaths пропущен. Во всех Level должен быть равен 1.
EnableUIADesktopToggle пропущен. Во всех Level должен быть равен 0.
Есть ли способ удаленного отключения UAC используя учетную запись администратора добавленного вручную на пк в воркгрупп? У меня точно есть пару учеток в группе Administrators на удаленном пк в локальной сети WORKGROUP, компы в одной сети. логины и пароли тоже есть. На удаленном пк учетная запись Administrator отключена, смб открыт, но когда пытаешься войти на например на C$ при авторизации выдает Access denied. Подключиться к реестру или запустить сервисы через компьютер менеджмент не дает, пишет нет прав. Черезе psexec такая же история. Winrm, ssh, rdp не работает, закрыты порты или отключены службы. Физического доступа и установки сторонних программ на удаленный пк варианта нет. Неужели вот из за ограничений RemoteUAC больше нет легальных возможностей настроить удаленно доступ к администратмивным ресурсам учитывая что есть учетные записи администраторов? Использование уязвимостей пока не рассматриваю. Вот чисто ради интереса, что если, например, я залогинен на своем пк под учетной записью Administrator с таким же паролем как на удаленном пк, предоставит ли мне UAC доступ к административным ресурсам (к шарам, реестру или к управлению сервисами) с учетом что на удаленном пк учетка отключена? Если стандартных инструментов нет, то может есть что то типо psexec или мимикатза или какой то еще инструмент позволяющий обходить ограничения UAC с удаленного ПК? ( P.S. И называется этот легальный способ Доменная сеть…..:-))))) Шутка.
Доступ под административными аккаунами в рабочих группах блокирует политика Remote UAC.
Чтобы отключить, нужно добавить в реестр параметр:
reg add «HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System» /v «LocalAccountTokenFilterPolicy» /t REG_DWORD /d 1 /f
Подробнее описано тут:
https://winitpro.ru/index.php/2016/07/06/kak-vklyuchit-udalennyj-dostup-k-administrativnym-sharam-v-windows-10/
Настроил UAC на компьютерах компании как тут написано, но у пользователя есть возможность изменять локально на пк положение ползунка при наличии админских прав. Как отключить эту возможность?
Админу вообще сложно что-то ограничить по-определению )
Как вариант можно попрообвать через реестр скрыть в панели управления пункт с настройками UAC (параметр DisallowCpl в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer)
Спасибо. Может можно сделать неактивным изменение этого параметра? Ну например, как с принудительной блокировкой экрана установка времени становится неактивной. Я видел где-то описание, но найти его могу.
К сожалению, я тоже не нашел способ блокировки слайдера UAC для админов.
Спасибо за помощь!
настроил как тут описано, теперь UAC выходит с логином пользователя, как сделать чтобы поле логин и пароль были пустыми
Выдает ли UAC (на максимальном уровне защиты) уведомления в случаях:
— попытки внесения изменений в реестр;
— попытки какой-либо программы (процесса) прописаться в автозагрузку?
Добрый день.
Можете пояснить — почему в статье вы выбрали Replace вместо Update и что значит «Удалить параметр, если больше не применяется» ? 1. Что значит больше не применяется, если политика будет применена к OU, но таргетинг сменили, и часть ПК выпала, но ранее на них была применена политика, на этих ПК, что будут ключи реестра удалены?!
И чем замена ключа отличается от обновления принципиально можете объяснить? Я честно говоря не вдупляю, то есть механика мне ясна — в одном случае всегда перезапись ключа, а в другом он обновляется, если он изменился, но для нас чем отличается результат??
Да, я проверил, вы рекомендуете включить параметр «Удалить параметр, если больше не применяется» . Если выключить линк политики после — то данный ключ будет удаляться!
Да, все верно, ключ при такой настройке удалится.
Это сделано в моем случае специально, чтобы клиенты когда выходили из скопа политики возвращались к начальным настройкам.