Автоматизация запроса UAC в Windows 7 - PullRequest
0 голосов
/ 17 декабря 2011

Следуя этой ссылке , я пытался найти решение для обработки запроса UAC.

Мне нужно протестировать приложение, которое запрашивает UAC. Это необходимо, и мне нужно проверить, если оно выскочило и продолжить. Я хочу автоматизировать эту вещь, но пока не нашел решения.

Мне нужно сделать это в или .

Ответы [ 4 ]

1 голос
/ 28 января 2012

Я написал приложение для автоматизации UAC (в том числе на Secure Desktop) в VBScript и C # / VB.Net.Он должен использоваться только в тестовых средах для автоматизации тестирования (учитывая, что UAC есть везде, без него тестирование кажется глупым!)

Вы можете скачать его (бесплатно) здесь:

http://www.brekit.com/

Там также есть ссылка на то, как автоматизировать UAC «путем Microsoft», используя манифест и изменяя настройки UAC таким образом, чтобы он не отображался на вашем безопасном рабочем столе.

1 голос
/ 17 декабря 2011

Это технически возможно. Вам нужно написать сервис, который работает как LocalSystem. Оттуда вы запускаете вспомогательный процесс на защищенном рабочем столе Winlogon. Оттуда вы можете установить ловушку, проверить наличие приглашения UAC и программно нажать соответствующую кнопку. Это много работы и довольно больно. Вот ответ того времени, где я обсуждаю его немного подробнее. У меня, вероятно, еще где-то лежит код.

Обновление : LOL. Просто заметил, что я ответил на вопрос, с которым вы связаны. Я предполагаю, что вы пытаетесь сделать это в vbscript или vb.net вместо C ++; это просто не сработает.

0 голосов
/ 17 декабря 2011

Короткий ответ был дан выше: нет, вы не можете.

Если вам интересно узнать почему, прочитайте следующее:

Нет способа «автоматизировать» UAC. Контроль учетных записей пользователей был разработан для того, чтобы вредоносные программы (вирусы, шпионские программы, рекламное ПО и т. Д.) Не запускались на целевой машине.

Это похоже на диалог разрешений в * nix-системах (Mac OS X и многие, многие дистрибутивы Linux), которые запрашивают ваш пароль всякий раз, когда им нужно выполнить какой-то код, который требует повышения привилегий (например, , установка приложения).

Проблема с Windows заключается в том, что в предыдущих версиях (Windows XP) для нежелательного программного обеспечения стало чрезвычайно легко выполнять код на целевой машине и подвергать риску всю систему. Это было сделано для того, чтобы пользователи знали, когда кто-то / что-то хочет получить доступ больше, чем они обычно могут сделать по умолчанию.

Так что, если UAC действительно на вашем пути , они могут только отключить it (Панель управления -> Настройки пользователя и учетной записи -> Контроль учетной записи пользователя и перетащить ползунок в нижней части Windows 7).

0 голосов
/ 17 декабря 2011

Вы не можете сделать это.

UAC предназначен для того, чтобы административные действия требовали приглашения пользователя.

UAC отключает ваш vbscript и vb.net, когда он активен. Если вы найдете способ обойти это, то это эксплойт / ошибка, которая, вероятно, будет исправлена ​​при обнаружении Microsoft.

...