6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

管理者権限が必要なスクリプトを動かしたい。

Last updated at Posted at 2022-11-02

管理者権限が必要な時に困る

普通のexeとかbatとか諸々の実行できるファイルであれば右クリックして管理者権限で実行とか出来るわけですがPythonのスクリプトはあくまで書類ですからそんなことできません。
だからといってPython自体に細工して管理者権限なんか付与した日には何か動くたびに確認画面が出てきて不安が止まりません。

そもそもの管理者権限が必要なプログラムなんてものはそれが必要なのかどうなのか自体を疑う必要があったりもしますが、それでもどうしてもどうにかしたい場合というのはあるものですので…。

管理者権限に昇格してコマンドを実行する

あとから調べたらそこそこ出てきたのですが、一応備忘録的に書いておこうと思いました。

runas.py
from ctypes import windll

def runas():

    windll.shell32.ShellExecuteW(
        None,
        "runas",
        "python", # コンソール出したくないならpythonw
        "hoge.py", # 実行したいスクリプト
        None,
        0
        )

if __name__ == "__main__":
    runas()

こんなスクリプトを用意します、普段実行するプログラムをこのスクリプトで実行させるというイメージです。

このスクリプトは実行されるとshellをrunas(管理者権限)で実行、この場合はpython hoge.pyを管理者権限で実行します。

個人的にはこれで相当助かったので誰かが助かればと思い共有しておきます。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?