Security Tips
 

Explorerを別のユーザーとして実行する

りょうわあきら
2004/9/8
2004/10/6更新

 コンピュータを使用する場合には、通常時は管理者権限でログインすることは避け、権限が制限されたユーザーでログインし、必要なときにだけ管理者権限でプログラムを実行するのが一般的である。Windows 2000以降でこの仕組みを実現しているのがコンテキストメニューの「別のユーザーとして実行」やRunAsコマンドである。

 しかし不便なことに、「別のユーザーとして実行」やRunAsコマンドでは、通常Explorerやコントロールパネルなどの一部のアイテムを起動できないといった問題がある。

 Windows XPの場合、簡易ユーザーの切り替え機能によりログオフすることなしに管理者デスクトップに切り替えることが可能だ。しかしこの機能がないWindows 2000や、簡易ユーザーの切り替えをオフにしているWindows XPの場合、この方法は使えない。モバイル用途のPCなどでは、ネットワーク情報の設定などで頻繁に管理者権限が必要になることがあるが、この際いちいちアプリケーションを終了してログオンし直さなければならないのは、非常に不便である。このため、危険と知りつつもPCを常に管理者として使用してしまっているケースも多いのではないだろうか。

 しかし実は、ログオンし直さなくても管理者としてExplorerやコントロールパネルを開く方法がある。

(1)「別のプロセスでフォルダウィンドウを開く」を有効にする

 Windows XPの場合、Windowsに管理者としてログインし、Explorerのメニュー「ツール」→「フォルダオプション」を起動して、表示タブで「別のプロセスでフォルダウィンドウを開く」オプションを有効にする。この状態で制限ユーザーとしてログオンし直し、コマンドプロンプトからRunAsコマンドで管理者としてExplorerを起動する。

C:\> runas /user:Administrator explorer
Administrator のパスワードを入力してください:
explorer をユーザー "Computer\Administrator" として開始しています...

 こうすることで、通常RunAsでは起動できないExplorerを管理者権限で起動することができる。(編集部注:本記事公開時に、一部コマンドが間違って掲載されていました。訂正の上、お詫びいたします)

 Windows 2000の場合には、上記の設定の代わりに以下のレジストリ値を設定することにより、RunAsコマンドでExplorerを起動することが可能になる。

キー:HKEY_USERS\.DEFAULT\Software\Microsoft\
    Windows\CurrentVersion\Explorer\Advanced

値の名前:SeparateProcess

値:1(DWORD)

(2)Internet Explorerのショートカットを使用する

 Internet Explorerを使用すると、Explorerで「別のプロセスでフォルダウィンドウを開く」を有効にしなくても、管理者権限でフォルダやコントロールパネルを開くことができる。例えば、次のリンク先を指定したショートカットを作成する。

"C:\Program Files\Internet Explorer\iexplore.exe" ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}

 このショートカットを使用するとInternet Explorer経由でコントロールパネルを開くことができるが、この際にコンテキストメニューの「別のユーザーとして実行」を使用することで管理者としてコントロールパネルを開くことができる。

 これらの方法を使用することで、ログオンし直すことなくコントロールパネルアプレットによるシステム設定変更が可能になる。危険な管理者ログオンでの常用からの脱却の一助として活用いただきたい。

【更新履歴】

9月8日の公開後、Windows 2000とWindows XPでは動作が異なるという指摘がありました。この点について検証作業を行いました。改めてそれぞれの動作について解説します(2004年10月6日)


Security Tips Index



Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間