ホームページ >バックエンド開発 >Python チュートリアル >Windows 上で管理者権限を使用して Python スクリプトを実行するにはどうすればよいですか?
Windows での Python スクリプトへの管理権限の付与
特定のアプリケーションでは、管理権限を必要とするタスクの実行が必要です。このコンテキストでは、昇格した特権で Python スクリプトを実行しようとすると、一般的な問題が発生します。解決策を探す際、頻繁にリンクされているリファレンスにより、ユーザーは Python スクリプト内からの UAC 昇格に対処する Stack Overflow の質問にたどり着きます。
リンクされた質問で提供されているコード スニペットに従っているにもかかわらず、多くのユーザーはその実行で問題に遭遇します。この記事は、これらの問題に対処し、Windows 上で昇格された特権でスクリプトを実行するための包括的なソリューションを提供することを目的としています。
更新されたソリューション (2023 年 2 月)
以下の元の回答は次のとおりです。大幅な進歩が見られ、「pyuac」という名前の Python モジュールとしてアクセスできるようになりました。 PyPi 経由でインストールできます:
pip install pyuac pip install pypiwin32
Pyuac の使用例:
直接使用:
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.
デコレータの使用:
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()
元の回答(2010)
2010 年に、Preston Landers は Windows での UAC 処理を簡素化するモジュールを作成しました。これを使用すると、現在のユーザーが管理者であるかどうかを簡単に判断し、必要に応じて UAC の昇格を要求できます。使用例:
import admin if not admin.isUserAdmin(): admin.runAsAdmin()
モジュール実装:
# See module code provided in the answer text
以上がWindows 上で管理者権限を使用して Python スクリプトを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。