ホームページ >バックエンド開発 >Python チュートリアル >Windows 上で管理者権限を使用して Python スクリプトを実行するにはどうすればよいですか?

Windows 上で管理者権限を使用して Python スクリプトを実行するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-10 14:15:14866ブラウズ

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

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。