.batファイルの「別のユーザーとして実行」


20

別のユーザーとして.batファイルを実行して、疑わしい権利の問題をトラブルシューティングしたいと思います。

通常の.exeファイルの場合は、Shiftキーを押しながら右クリックして「別のユーザーとして実行...」を取得できます。ただし、.batファイルの場合、これは機能しません(Shiftキーを押しながら右クリックしても、「として実行...」というメニューエントリは表示されません)。なぜそうなのか、どうすれば.batファイルとして「実行」できますか?まったく可能ですか?

システムはWindows XP SP2 Home Editionです。

回答:


21

コマンドラインを使用します。例えば、

runas /noprofile /user:COMPUTERNAME\USERNAME "C:\MYBAT.bat"

Runasのリファレンスドキュメントでコマンドの詳細を参照してください。


1
少なくともWinXPでは、これは[実行]ボックスでも機能します。
-pcapademic

このコマンドラインオプションは私にとっては機能しませんが、右クリックで実行するように設定された下のオプションは期待どおりに機能します。違いは何ですか?
user85

20

.BATファイルのRun as ...オプションをコンテキストメニューに追加するには、次のREGファイルを使用します。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\batfile\shell\runas\command]
@="\"%1\" %*"

上記の内容をメモ帳にコピーし、ファイルを.REG拡張子(たとえば、bat_runas.reg)で保存します。.REGファイルを右クリックし、[ マージ ]を選択します。

.CMDファイルのRun as ...メニューを追加するには、次のREGファイルを使用します。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\cmdfile\shell\runas\command]
@="\"%1\" %*"

上記の内容をメモ帳にコピーし、拡張子が.REGのファイル(たとえば、cmd_runas.reg)を保存します。.REGファイルを右クリックし、[ マージ ]を選択します。


気の利いた:-)。これがデフォルトではない理由は何ですか?
-sleske

@sleske-これは、Windows 2000のデフォルトでした。セキュリティ上の理由から、XP(およびそれ以降)で削除されていました。別のレジストリ「ハック」を追加して、CMDファイルの実行を追加します。

@モリー:ありがとう。それでも、「セキュリティ上の理由」はわかりません。常にcmd.exeとして「実行」してから.batを実行できます。これは同じですよね。それでは、セキュリティの問題はどこにありますか?
sleske

1
@sleske-時々「ユーザー不安」と呼ばれることがあります。これは、フォルダーを選択したときにWindows 7のステータスバーから概要を削除する理由でした。それを得る?まあ、私はしません...:P

1

通常の.Exeファイルの場合、Shiftキーを押しながら右クリックすると、メニューとして実行を取得できます。ただし、この方法は.batおよび.cmdファイルでは機能しません。そのため、レジストリファイルを作成してそのオプションを追加しました

  1. デスクトップを右クリック
  2. 新規をクリックします
  3. 次に、メモ帳を選択します

  4. 以下のコードをこのメモ帳ファイルにコピーします

Windowsレジストリエディターバージョン5.00

[HKEY_CLASSES_ROOT \ cmdfile \ shell \ runas \ command] @ = "\"%1 \ "%*"

  1. 「Ctrl + s」を押してこのファイルを保存します
  2. 「Runas.reg」でデスクトップまたはその他の場所に保存します
  3. 「Runas.reg」ファイルを右クリックします
  4. 「マージ」をクリックします
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.