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!