連載
» 2006年06月17日 05時00分 UPDATE

Tech TIPS:Windowsのrunasコマンドで、一時的に他のユーザー権限でプログラムを実行する

Windowsの「別のユーザーとして実行」機能を利用すると、ログオンし直すことなく、別のユーザー資格情報でプログラムを実行できる。普段は一般ユーザー権限でPCを利用し、必要なときだけ管理者権限で管理タスクを実行すれば、システムの安全性が増す。runasコマンドでの実現方法を解説。

[打越浩幸,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000/Windows XP/Windows Server 2003



解説

 TIPS「一時的にほかのユーザー権限でプログラムを実行する方法(ショートカット・メニューを利用する方法)」「一時的にほかのユーザー権限でプログラムを実行する方法(ショートカットのプロパティを利用する方法)」では、エクスプローラのユーザー・インターフェイスや、ショートカットのプロパティを利用して、あるプログラムを別のユーザー資格情報で起動する方法を紹介した。

 これは、コンピュータの通常操作は一般ユーザー権限で行うが、特別な管理操作が必要なときだけ、管理者権限でプログラムを起動するために使われる方法である。これにより、不用意な操作や、意図しない(ウイルスなどの)プログラムなどが動作して、システムを破壊してしまうといった事態を未然に防ぐことができる。また、いちいち管理車権限のあるアカウントでログオンし直すのと違い、必要なときにだけ、素早く管理者権限で管理ツールなどを起動できるので便利である。この「別のユーザーとして実行」する機能については、関連記事も参考にしていただきたい。

 上記のTIPSでは、GUI画面で操作する方法を紹介しているが、コマンド・プロンプトで操作する場合は、runasというコマンドを利用する。本TIPSでは、この方法について解説する。

操作方法

 コマンド・プロンプトで別のユーザーとしてプログラムを起動するには、「runas」というコマンドを利用する。利用方法は引数なしで起動するか「runas /?」とすると表示される。

C:\>runas /?
RUNAS 使用法:

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
        /user:<ユーザー名> プログラム

RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]
        /smartcard [/user:<ユーザー名>] プログラム

   /noprofile        ユーザーのプロファイルを読み込まないように指定します。
                     この結果、アプリケーションをより速く読み込むことができま
                     すが、一部のアプリケーションが正しく動作しない可能性があ
                     ります。
   /profile          ユーザーのプロファイルを読み込むように指定します。
                     これは既定値です。
   /env              ユーザーの環境ではなく、現在の環境を使用する場合に使います
   /netonly          指定された資格情報をリモート アクセスのみで使用する場合に
                     使います。
   /savecred         ユーザーが以前に保存した資格情報を使います。
                     このオプションは Windows XP Home Edition では利用できない
                     ので無視されます。
   /smartcard        資格情報がスマート カードから提供される場合に使います。

   /user             <ユーザー名> の形式は、"ユーザー@ドメイン" または
                     "ドメイン\ユーザー" です
   プログラム        実行可能なコマンドラインです。下の例を参照してください。

例:
> runas /noprofile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

注意:  要求されたときのみ、ユーザーのパスワードを入力してください。
注意:  USER@DOMAIN は /netonly と互換性がありません。
注意:  /profile は /netonly と互換性がありません。

C:\>



 runasには多くのオプションがあるが、一般的には「runas /user:<ユーザー名> <コマンド>」として実行すればよい。ここで「<ユーザー名>」には、Windows OSで一般的に使われるユーザー・アカウントの表現方法を指定する。具体的にはTIPS「Windowsネットワークにおけるユーザー名とドメイン名の指定方法」などを参照していただきたいが、「<NetBIOSドメイン名>\<ユーザー名>」や「<NetBIOSコンピュータ名>\<ユーザー名>」、「<ユーザー名>@<FQDNドメイン名(UPN)>」などを指定する。

 以下は、example.co.jpドメインのAdministratorとして、コマンド・プロンプト(cmd.exe)を起動する例である。実行するとパスワードの入力が求められるので、正しく入力すると、プログラムが起動する。

C:\>runas /user:administrator@example.co.jp cmd.exe  ……runasの実行
administrator@d-advantage.com のパスワードを入力してください: ……パスワード入力
cmd.exe をユーザー "administrator@example.co.jp" として開始しています...

C:\>



「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。