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

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

Barbara Streisand
Libérer: 2024-11-30 03:21:10
original
587 Les gens l'ont consulté

How to Run Python Scripts with Elevated Privileges on Windows?

Exécuter des scripts Python avec des privilèges élevés sous Windows

L'élévation des privilèges pour les scripts peut être essentielle pour effectuer des tâches administratives dans les applications Python. Cet article fournit des conseils complets pour y parvenir sur les systèmes Windows.

Approche originale avec erreur d'importation

L'exemple de code mentionné dans la question tente d'élever les privilèges à l'aide de win32com. module coque. Cependant, son exécution peut échouer en raison d'une dépendance manquante sur pypiwin32. Pour résoudre ce problème, assurez-vous que la bibliothèque pypiwin32 est installée avant d'exécuter le code.

Script Python UAC de Preston Landers

Pour une solution plus robuste, envisagez d'utiliser le script Python développé par Preston Landers. Ce script offre une approche simple pour vérifier si l'utilisateur dispose des privilèges d'administrateur et les élever si nécessaire.

Utilisation :

  1. Installez le module d'administration à l'aide de pip install admin.
  2. Incluez le code suivant dans votre script :
import admin

if not admin.isUserAdmin():
    admin.runAsAdmin()
Copier après la connexion

Avantages du script de Landers :

  • Fournit une vérification explicite des privilèges d'administrateur.
  • Lance le script avec des privilèges élevés si nécessaire.
  • Affiche le processus d'élévation dans des fenêtres séparées pour visibilité.

Approche avancée pour exécuter en tant qu'administrateur

Pour une approche plus avancée, vous pouvez utiliser la fonction runAsAdmin définie dans le script de Landers. Cette fonction vous permet d'exécuter n'importe quelle ligne de commande en utilisant des privilèges élevés.

Exemple :

import admin

admin.runAsAdmin(["c:\Windows\notepad.exe"])
Copier après la connexion

Cela lancera le Bloc-notes avec des autorisations d'administrateur.

Considérations supplémentaires

  • Pour les scripts nécessitant des arguments de ligne de commande, transmettez sous forme de tuple ou de liste dans cmdLine dans la fonction runAsAdmin.
  • Le script élevé aura un ID de processus différent de celui du script d'origine.
  • Cette méthode n'élève pas automatiquement l'intégralité de la session Python.

En suivant ces méthodes, vous pouvez exécuter efficacement des scripts Python avec des privilèges élevés et effectuer des tâches administratives sous Windows.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal