2017-08-12 28 views
1

C:\Windowsディレクトリの一部のファイルを削除して置き換えるスクリプトがあります。Windowsで管理者としてpythonスクリプトを実行

私は管理者としてコマンドラインを開始し、そこで私のpythonスクリプトを開始します。スクリプトがC:\Windowsからファイルを削除しようとすると、WindowsError error 5と表示されます。

どうすればこの問題を解決できますか?

考えられる解決策: 実は私はTrustedInstallerユーザーのためのすべての権限を持っているファイルを変更しようとしていたので、私はPythonスクリプトを実行するには、このhttps://github.com/jschicht/RunAsTIを使用。

+0

"runas"コマンドを使用してみましたか? – iColdBeZero

+0

あなたは管理者です。所有権を取得して、必要な権限を自分で付与することができます。 'subprocess.call'を使ってtakeown.exeとicacls.exeを実行することができます。 – eryksun

答えて

1

WindowsError error 5アクションを実行するシステム管理者権限がない場合に発生します。
Windowsのcmdコマンドrunasを使用して、admin privelegesでスクリプトを強制的に実行させることができます。ちょうどあなたのコンピュータ上の権限を持つアカウント名とADMINISTRATOR_ACCOUNTを置き換える

runas /user:administrator_account path_to_script 


はこのような何かを試してみてください。また、このコマンドはパスワードを要求します(アカウントに1つの設定がある場合)。 このコマンドの詳細については、here.

+1

現在、デフォルトのUACとポリシー設定では、runas.exeは "管理者"アカウント(RID 500)でのみ動作します。これは手動で有効にする必要があります。他の管理者アカウントはスプリットトークンでログオンし、runas.exeは昇格トークンの代わりに標準トークンを使用してプロセスを作成します。 – eryksun

+0

しかしOPは既に昇格したコマンドプロンプトから作業していると主張しているので、Pythonは既に管理者権限を持っているはずです。この場合、OPはロードされたDLLや実行可能ファイル、データファイル。メモリマネージャは、メモリマップファイルの削除を許可しません。 – eryksun

+0

あなたはまったく正しいです。ノート – iColdBeZero

関連する問題