Я хочу запустить свою функцию в ограниченной учетной записи с правами администратора

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

Я не могу найти ответ. Я думаю, что могу использовать два способа:

  1. Запустите мою программу другим способом, например, программой или службой
  2. Запустите мою функцию с помощью некоторого метода, такого как PrincipalPermission space или что-то вроде этого

Но я не могу решить эту проблему.

3 ответа

Решение

Один из способов решить эту проблему - разбить вашу программу на две части. Одна часть как служба Windows, а другая как приложение пользователя. Вы можете настроить службу для работы в качестве сетевой службы, локальной службы или локальной системы в зависимости от требуемого уровня доступа. Все, что требует прав администратора, будет выполнено службой Windows. Пользовательское приложение может отвечать за отображение пользовательского интерфейса и других подобных вещей. Для этого вам также необходимо иметь своего рода IPC (межпроцессное взаимодействие) между вашими приложениями.

Вы смотрели на команду "runas"? Например:

C:\> runas /noprofile /netonly /user:MYCOMPUTER\testuser "C:\Program Files\My Special Program\Program.exe"

Я хочу запустить свою программу под ограниченной учетной записью пользователя, но с правами администратора.

Это не может быть сделано. Пользователь с ограниченными правами не имеет прав администратора. Вы должны запустить его как пользователь с правами администратора, например, runas.

Другие вопросы по тегам