web-dev-qa-db-ja.com

バッチファイルで管理者権限でプログラムを起動する方法

次のようなエラーが発生しないように、管理者権限で別のバッチファイルを開始/呼び出すにはどうすればよいですか?

アクセスが拒否されましたエラーコード5

ここに私がそれを望んでいるようなものがあります。

echo PLEASE TYPE YOUR USERNAME AND PASSWORD IN THE FIELDS BELOW.
echo.
echo.
echo.
echo.
set /p u=Username:
echo.
set /p p=Password:
start next.bat %u% %p%
8
cmd

AutoItrunas 関数を参照)などのサードパーティのユーティリティはオプションではない場合がありますが、そのオプションがある場合は、それを確認してください。を目指しています。次に、スクリプトからAutoItスクリプトを呼び出し、そのrunas関数を使用できます。

Windows runasは、/savecredオプションに満足しない限り、パスワードの提供をサポートしていません。単一のコンピューターからのみタスクを実行している場合は問題ありません。初回はパスワードを要求されますが、その後は要求されません(ただし、使用するたびに/savecredオプションを使用する必要があります)。これを使用すると、大きなセキュリティホールになる可能性があると感じています。しかし、これはあなた自身のマシン用のようなので、バッチではこれを使用します:

runas /user:computername\username /savecred yourcommand.exe

別の方法は、スクリプトから呼び出すことができるスケジュールされたタスクを作成することです。 [〜#〜] gui [〜#〜] を使用するか、昇格したコマンドラインから ここで説明 として作成できます。

その後、次のようにスクリプトから呼び出すことができます。

SCHTASKS /Run /TN yourtaskname
2
fzzylogic

BatファイルをWindowsディレクトリに置くだけで、管理者として実行されます。私はこれを自分で試しましたが、うまくいきました:

C:\Windows\batch_file.bat

それはそのように機能するはずです。

2
Tony TCG

どちらの方法を選択した場合でも、管理者権限で実行することを受け入れる必要があるため、どちらの方法がより短いのですか?あなたは出来る Right Click > Run as administratorjean-Michaelが言ったように、私はjamesアプローチ( vbScript)ですが、別のvbScriptファイルを使用したくないが、バッチファイルをクリックして、管理者権限での実行を受け入れるだけのメリットが欲しい場合(右クリックと左クリックが1つ少ないことに注意してください)、次のことをお勧めします。

バッチファイルからショートカットを作成し、ショートカット>プロパティ>ショートカットタブ>詳細設定を右クリック実行を確認管理者チェックボックスとして。ショートカットから実行するたびに、クリックするだけで管理者権限で実行できます。

この助けを願っています。

1
QMaster

バッチファイル自体には管理者として実行する方法はありませんが、.VBSファイル内からバッチファイルを起動する場合は、「ru​​nas」パラメーターを指定できます。

set Shell=CreateObject("Shell.Application")
Shell.ShellExecute "your_batch_file.bat",,"C:\path\to\thedirectory", "runas", 0 
set Shell=nothing 

これにより、管理者としてバッチファイルが起動し、シェルの表示を有効または無効にできます(この例では、プログラムが表示されずにバックグラウンドで実行されるように非表示にしています)。

1
James

右クリック->管理者として実行。

マイクロソフトは、バッチスクリプトが自分で管理者特権を取得するのを防ぐために、できる限り多くのことをしたと思います。

@ cmd、私は例を投稿しましたバッチスクリプトからユーザーの有効な権限をテストするにはどうすればよいですか? ?ShellExecuteおよびelevated権限を持つ別のbat fileを実行するには(必要な場合のみ)。

それがあなたが探しているものであり、必要なものであるかどうかを見てください。そうでない場合は、私に知らせてください。そうすれば、スクリプトを調整して機能させることができます。

幸運を

1
gmo