Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Проверка активности UAC

Ответить
Настройки темы
PowerShell - Проверка активности UAC

Забанен


Сообщения: 27
Благодарности: 2

Профиль | Цитировать


Проблема: нужно чтобы на тестируемых тачках был всегда включен UAC. До недавнего времени проверку делал через реестр командой
Код: Выделить весь код
reg query hklm\software\microsoft\windows\currentversion\policies\system /v enablelua
где 0x1 - включен, иначе выключен. Так вот, чудеса в Решетове: на некоторых тачках UAC отключен, а значение по-прежнему единица, а не еще трёх всё с точностью до наоборот. Ребутнул системы, не помогло. Покопался в базе знаний мелкософта, но ничего для решения проблемы не нашел. На одной тачке (где не особо критично) форматнул диск, накатил систему заново, активировал по телефону, активация прошла успешно. Правда до этого в реестр не глядел, тормознул, блин ((((((. Система к инету не цеплялась, но та же фигня: ноль в реестре, а UAC робит. В чём засада?

Отправлено: 16:43, 17-01-2021

 

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Для начала было бы логично заглянуть в журнал событий, но подозреваю, что они в системах в угоду производительности отключены. Так что если переходить исключительно к фактам, то, во-первых, проблема может таиться в брокере безопасности (в политиках указано одно, а брокер их попросту игнорирует), во-вторых, на реестр полагаться не следует, так как для самой MS реестр сродни некой складчине наследия, которое они от релиза к релизу грозятся упорядочить, но воз и ныне там. Возможно последнее является предпосылкой для различного рода недокументированных API, например, CheckElevationEnabled в kernel32.dll (сигнатура:
Код: Выделить весь код
DWORD CheckElevationEnabled(
   PBOOL pEnabled
);
), являющейся оберткой над RtlQueryElevationFlags из ntdll.dll (сигнатура:
Код: Выделить весь код
NTSYSAPI
NTSTATUS
NTAPI
RtlQueryElevationFlags(
   PRTL_ELEVATION_FLAGS Flags
);
), где RTL_ELEVATION_FLAGS - это объединение (union) для поля SharedDataFlags (смещение 0x2F0) и ряда битовых полей структуры KUSER_SHARED_DATA. В общем, если не заморачиваться с низкоуровневой реализацией вышеупомянутых функций, проверить включен ли UAC в pwsh можно теоретически так:
Код: Выделить весь код
!!([Runtime.InteropServices.Marshal]::ReadInt32([IntPtr]0x7ffe02f0) -band 2)
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:46, 17-01-2021 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Забанен


Сообщения: 27
Благодарности: 2

Профиль | Цитировать


Ну да, журналирование выключено. А почему такая фигня с брокером может быть?

Отправлено: 22:21, 17-01-2021 | #3


Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Потому. Чай ведь не телепат, причины разные могут быть.

Отправлено: 10:22, 18-01-2021 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Проверка активности UAC

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Проверка "активности" пользователя в VBS\BAT id334492052@vk Скриптовые языки администрирования Windows 3 05-12-2016 14:08
Доступ - Смягчить UAC или запуск Metro приложений при отключенном UAC strelok71rus Microsoft Windows 10 7 02-12-2015 18:59
Интернет - Монитор сетевой активности clop1000 Программное обеспечение Windows 1 29-06-2013 01:18
CMD/BAT - [решено] Проверка активности окна xctr Скриптовые языки администрирования Windows 2 04-01-2012 09:50
Delphi - Симуляция активности pronira_sef Программирование и базы данных 10 15-04-2011 00:57




 
Переход