В windows - API - Как получить / использовать права текущего пользователя (или единый вход) - PullRequest
1 голос
/ 16 февраля 2011

Я использую vc ++. Я пытаюсь создать «внешний интерфейс», который создаст задачу и поместит ее в «Планировщик окна». Действие задачи вызывает приложение резервного копирования. Каждое задание требует определенных привилегий для выполнения данной программы. Мне нужно назначить права администратора для этой задачи. Я могу заверить, что интерфейс может быть запущен только администратором. Теперь я хочу назначить текущему пользователю (администратору) права доступа к задаче. До раскопок, которые я делал в интернете / MSDN, API предоставляет следующие два варианта (3-й вариант - мое предположение)

1) Укажите имя учетной записи, пароль для этой задачи.

2) Используйте флаг "TASK_FLAG_RUN_ONLY_IF_LOGGED_ON" и присвойте администратору "имя учетной записи" и пароль как NULL.

3) Single Sign on

Теперь ограничения:

1-> Не рекомендуется заставлять клиента часто вводить имя и пароль учетной записи администратора

2-> Имя учетной записи администратора не всегда одинаково (в XP это можно изменить). Поэтому я не могу предоставить имя учетной записи администратора по умолчанию.

3-> Я не знаю, как этого добиться. «Единый вход» похож на то, как только вы вошли в систему как администратор, тогда приложения могут получить текущие (вошедшие в систему) привилегии пользователя.

Поиск в MSDN подобен «поиску иголки в стоге сена». Кто-нибудь, пожалуйста, пролите свет на решение.

1 Ответ

0 голосов
/ 16 февраля 2011

Возможно, учетная запись LocalSystem

http://msdn.microsoft.com/en-us/library/ms684190(VS.85).aspx

...