Maison >développement back-end >Tutoriel Python >Comment exécuter un script Python avec des privilèges élevés sous Windows ?

Comment exécuter un script Python avec des privilèges élevés sous Windows ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-03 17:52:10577parcourir

How to Run a Python Script with Elevated Privileges on Windows?

Comment exécuter un script avec des privilèges élevés sous Windows

De nombreuses applications nécessitent des privilèges élevés pour accéder à des ressources spécifiques ou effectuer des tâches privilégiées. Sous Windows, l'UAC (User Account Control) protège le système d'exploitation et les données utilisateur en empêchant les modifications non autorisées. Cet article explique comment exécuter un script avec des privilèges élevés sous Windows.

Solution utilisant les fonctions 'isUserAdmin' et 'runAsAdmin'

En réponse à l'extrait de code fourni et problèmes ultérieurs, une solution plus robuste est disponible grâce aux modules développés par Preston Landers. Le module définit deux fonctions clés : isUserAdmin et runAsAdmin.

isUserAdmin
Cette fonction vérifie si l'utilisateur actuel possède des privilèges administratifs.

runAsAdmin
Cette fonction élève les privilèges du script en demandant à l'utilisateur l'UAC autorisation.

Exemple d'utilisation

import admin

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

Ce fragment de code vérifie si l'utilisateur est un administrateur. Sinon, il demande une confirmation UAC et redémarre le script avec des privilèges élevés.

Version améliorée utilisant le package 'pyuac'

Depuis la création du script original, l'auteur a mis à jour et publié sous la forme d'un package Python appelé 'pyuac' :

Installation :

pip install pyuac
pip install pypiwin32

Exemple d'utilisation utilisant pyuac

import pyuac

def main():
    print("Do admin stuff here.")

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn