Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Python-Skripte mit Administratorrechten unter Windows ausführen?

Wie kann ich Python-Skripte mit Administratorrechten unter Windows ausführen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-10 14:15:14870Durchsuche

How Can I Run Python Scripts with Administrative Privileges on Windows?

Gewähren von Administratorrechten für Python-Skripte unter Windows

Für bestimmte Anwendungen ist das Ausführen von Aufgaben erforderlich, die Administratorrechte erfordern. In diesem Zusammenhang tritt häufig ein Problem auf, wenn versucht wird, Python-Skripte mit erhöhten Rechten auszuführen. Bei der Suche nach Lösungen führt eine häufig verlinkte Referenz Benutzer zu einer Stack Overflow-Frage, die sich mit der UAC-Erhöhung innerhalb von Python-Skripten befasst.

Obwohl sie dem in der verlinkten Frage bereitgestellten Codeausschnitt folgen, stoßen viele Benutzer auf Probleme bei der Ausführung. Dieser Artikel zielt darauf ab, diese Schwierigkeiten zu beheben und eine umfassende Lösung zum Ausführen von Skripts mit erhöhten Rechten unter Windows bereitzustellen.

Aktualisierte Lösung (Februar 2023)

Die ursprüngliche Antwort unten hat hat erhebliche Fortschritte gemacht und ist jetzt als Python-Modul mit dem Namen „pyuac“ zugänglich. Es kann über PyPi installiert werden:

pip install pyuac
pip install pypiwin32

Pyuac-Nutzungsbeispiele:

Direkte Nutzung:

import pyuac

def main():
    print("Do stuff here that requires being run as an admin.")
    # The window will disappear as soon as the program exits!
    input("Press enter to close the window. >")

if __name__ == "__main__":
    if not pyuac.isUserAdmin():
        print("Re-launching as admin!")
        pyuac.runAsAdmin()
    else:        
        main()  # Already an admin here.

Dekorator-Nutzung:

from pyuac import main_requires_admin

@main_requires_admin
def main():
    print("Do stuff here that requires being run as an admin.")
    # The window will disappear as soon as the program exits!
    input("Press enter to close the window. >")

if __name__ == "__main__":
    main()

Originalantwort (2010)

In 2010 erstellte Preston Landers ein Modul, das die Benutzerkontensteuerung unter Windows vereinfachte. Damit können Sie leicht feststellen, ob der aktuelle Benutzer ein Administrator ist, und bei Bedarf eine UAC-Erhöhung anfordern. Sein Anwendungsbeispiel:

import admin

if not admin.isUserAdmin():
    admin.runAsAdmin()

Modulimplementierung:

# See module code provided in the answer text

Das obige ist der detaillierte Inhalt vonWie kann ich Python-Skripte mit Administratorrechten unter Windows ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn