Кажется, что нет никакого способа поднять полномочия приложения некоторое время для Вас для выполнения конкретной задачи. Windows должен знать в начале программы, требует ли приложение определенных полномочий и попросит, чтобы пользователь подтвердил, когда приложение выполняет любые задачи что потребность те полномочия. Существует два способа сделать это:
Это два , статьи объясняют в намного большем количестве деталей, как это работает.
то, Что я сделал бы, если Вы не хотите писать противную ctypes обертку для CreateElevatedProcess API, является использованием прием ShellExecuteEx, объясненный в статье Code Project (Pywin32 идет с оберткой для ShellExecute). Как? Что-то вроде этого:
, Когда Ваша программа запускается, она проверяет, имеет ли она Права администратора, если она не делает этого, выполняет себя с помощью приема ShellExecute и сразу выходит, если она делает, она выполняет задачу под рукой.
, Поскольку Вы описываете свою программу как "сценарий", я предполагаю, что это достаточно для Ваших потребностей.
Аплодисменты.
Если Ваш сценарий всегда требует полномочий Администратора тогда:
runas /user:Administrator "python your_script.py"
Просто добавив этот ответ в случае, если другие направлены здесь Google Search, как я был. Я использовал elevate
модуль в моем сценарии Python и сценарии, выполняемом с Правами администратора в Windows 10.