4

Есть ли способ настроить приложение для запуска от имени администратора все время. Я пытался с помощью утилиты администратора совместимости, но, кажется, работает только для Windows Vista и выше.

Сбой приложения из-за некоторых драйверов принтеров, которым требуются права администратора.

РЕДАКТИРОВАТЬ: имя приложения Zeh Raster, и оно под Windows XP, я не хотел бы предоставлять пароль каждый раз, когда мне нужно запустить приложение.

3 ответа3

4

Вы можете использовать команду runas.exe для создания ярлыка, запускаемого с правами администратора. По сути, создайте новый ярлык с целью:

runas.exe /user:administrator c:\path\to\program.exe
1

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

  • CPAU может использоваться для хранения программы с учетными данными в зашифрованном файле и повторного запуска программы с учетными данными без взаимодействия с пользователем (например, с помощью ярлыка)
  • Существует программа под названием Win-SUDO, которая претендует на эмуляцию SUDO для Windows, но на самом деле она также хранит учетные данные, зашифрованные в реестре, в месте, доступном для чтения пользователями, которые могут использовать Win-SUDO.
  • Сохранение учетных данных с помощью команды runas с помощью savecred работает, но вы также можете запускать другие программы с правами администратора.
  • Вы также можете создать "запланированную" задачу, которая по расписанию никогда не будет запускаться и выполняется с учетными данными пользователя, и запускать ее вручную при необходимости; этот метод также хранит учетные данные пользователя, который должен выполнить задачу, но в отличие от команды runas не так просто повторно использовать учетные данные для различных процессов. Обратите внимание, что таким способом невозможно запустить интерактивный процесс в Windows XP (или, по крайней мере, вы не можете взаимодействовать с ним).

В любом случае, правильным решением будет либо попытаться запустить исходную программу без прав администратора, либо запустить ее в качестве службы в фоновом режиме, если взаимодействие с пользователем не требуется. Или попытайтесь заставить поставщика предоставить фиксированную версию, которая работает без прав администратора или использует службу для тех частей, которые в них нуждаются.

0

Это старый вопрос, но так как он становится довольно популярным, я хотел опубликовать то, что я в итоге делал.

Мой обходной путь заключался в разработке службы Windows, которая работает с правами администратора. Затем я написал приложение запуска, которое отправляет запрос в эту службу, чтобы открыть приложение, которое мне нужно было запустить с правами администратора. Я мог убить мух с помощью пушечных ядер, но это сработало. Конечные пользователи не должны быть администраторами на своих компьютерах, и у них есть ярлык на рабочем столе, который может щелкнуть в любое время. Я также создал MSI-инсталлятор для этой службы, которым ИТ-специалисты могут легко управлять.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .