(Mark Joseph Edwards)

 通常,自分のシステムに制限ユーザー(Users)権限のユーザー・アカウントでログオンしている人は,管理作業を行うとき,Power UsersかAdministratorsグループの権限が必要になる。これの権限をいちいち取得するのは面倒だ。標準の「RunAs」コマンドを使えば,一時的に権限を昇格できるが,もっと素早くできる方法がある。

ユーザー権限を一時的に昇格するスクリプト
 Aaron Margosis氏は,ユーザーが通常より高い権限でアプリケーションを実行するときに便利なWindows用のアドオン・コマンドのスクリプトを書いた。彼のスクリプト「MakeMeAdmin」を使えば,権限を昇格させるとき利用するRunAsコマンドの実行を自動化できる(該当サイト)。

 このスクリプトは3つの動作をする。現在利用しているユーザー・アカウントをAdministratorsグループに追加し,コマンド・プロンプトと指定したアプリケーションを起動し,その後アカウントをAdministratorsグループから取り除くのである。

 MakeMeAdminの利用法は,Margosis氏のWebログ(blog)で読める(該当サイト)。ダウンロードしたMakeMeAdminのファイル(.zipファイル)には,もう1つのスクリプト「MakeMePU」も入っている。これはユーザーの権限をAdministratorsグループではなくPower Usersグループに追加するものだ。

プログラムがどんな権限で動作しているかを知るツール
 Margosis氏が開発したもう1つのツールは「PrivBar for Windows Explorer and Microsoft Internet Explorer(IE)」である(該当サイト)。PrivBarを使うと,WindowsエクスプローラやIEの特定のインスタンスが,どんな権限で実行されているかを調べられる。

 PrivBarをインストールすると,エクスプローラとIEに1つツールバーが追加される。このツールバーはドメインとユーザー名のほか,そのアカウントが所属するグループを表示する。例えば,ユーザーがAdministratorsグループに所属する高い権限を持つアカウントで,インスタンスを稼働させていると,注意を引くカラー・コードが付いて表示される。

 Margosis氏によると「PrivBarは現在のプロセスのトークンが,Administratorsグループのメンバーシップのものか,Power Usersのものか,Usersのものか,Guestsのものかをチェックすることで,手軽にユーザーの権限を表示する。バー上にある円は,Administratorsグループに所属するなら赤くなるし,Power Usersなら黄色,そのほかでは緑になる。もしユーザーが管理者なら,このバーの背景は黄色になる。もし制限付きのトークン,つまりRunAsダイアログの[許可されていないプログラムの動作からコンピュータとデータを保護する]オプション付きで,インスタンスを稼働していると,その円は赤い線が入った緑色になる。PrivBarはCheckTokenMembership APIを使っているので,無効あるいはdeny-only属性のSID(セキュリティID)を適切に考慮する」。

 Webサイトでこのツールについての解説をスクリーン・ショット付きで読める(該当サイト)。

 CheckTokenMembership APIに興味がある開発者は,Microsoft Developer Network(MSDN)のWebサイトで詳細を学べる(該当サイト)。