トラブルシューティングなどでは、現在ログオン中のユーザー名を調べる必要がある。それには、Windowsセキュリティ・ダイアログを見るのが簡単だが、whoamiコマンドや環境変数を使う方法もある。Telnetのセッションの場合、tlntadmnコマンドで調べる。
対象OS:Windows 2000/Windows XP/Windows Server 2003
多数のユーザー・アカウントを使い分けている場合や、コンピュータのトラブルシューティングを行う場合など、現在どのユーザー・アカウント(ドメイン・アカウントか、ローカル・コンピュータ・アカウントかの違いも含む)でログオンしているかを調査する必要に迫られることがある。ユーザー・アカウントごとに可能な操作や権限が異なっているし、特定のユーザーにしか使用を許可しないようになっているかもしれないからだ。
本TIPSでは、現在どのユーザー・アカウントでログオンしてコンピュータを使用しているかを調べる方法について解説する。
現在ログオンしているユーザー名を確認する一番簡単な方法は、[Ctrl]+[Alt]+[Del]キーを押して、「Windowsのセキュリティ」ダイアログを表示させることである。このダイアログの[ログオン情報]のところに、どのユーザーがログオンしているかの情報が「ドメイン名\ユーザー名」もしくは「コンピュータ名\ユーザー名」という形式で表示されている。名前の前にあるドメイン名やコンピュータ名の部分を見ることにより、ドメイン・アカウントでログオンしているか、それともローカル・アカウントでログオンしているかも判断できる。
ただしWindows XPにおいて、ユーザーの簡易切り替え機能(Fast User Switching)が有効になっていると([コントロール パネル]の[ユーザー アカウント]で[ようこそ画面を使用する]と[ユーザーの簡易切り替え]を有効にする)、[Ctrl]+[Alt]+[Del]キーを押すと次のタスク・マネージャの画面が表示される。その場合は、タスク・マネージャに[ユーザー]タブが表示されているので、そこで確認できる。
タスク・マネージャの[プロセス]タブには、現在動作中のプロセスの一覧が表示されるが、そこにプロセスの属しているユーザーの情報([ユーザー名]フィールド)も表示されている。プロセスの一覧には、システム・プロセスの一覧も含まれているが、一般的にはエクスプローラのプロセス(explorer.exeプロセス)のユーザー名が、現在ログオンしているユーザー・アカウントに該当する。
リモート・デスクトップやユーザーの簡易切り替え機能を利用していて、さらに下部にある[全ユーザーのプロセスを表示する]のチェック・ボックスをオンにしている場合などでは、複数のユーザーの名前が表示されることがある。
コマンド・プロンプトを開いて、環境変数の内容を調査することにより、現在ログオンしているユーザーのアカウントを調査することができる。[スタート]メニューの[アクセサリ]−[コマンド プロンプト]を開き、「set」コマンドを実行すると現在定義されている環境変数の一覧が表示されるが、ログオン・ユーザー情報は以下の変数から得られる。
環境変数名 | 意味 |
---|---|
USERDOMAIN | ユーザーがログオンしている環境。コンピュータのローカル・アカウントでログオンしている場合はコンピュータ名が、ドメインのアカウントでログオンしている場合はドメイン名がそれぞれセットされている |
USERNAME | ユーザー・アカウント名。 |
アカウント情報を得るための環境変数名 |
whoami.exeコマンドは、Windows 2000のリソース・キットやWindows XPのサポート・ツールに含まれているコマンドであり、現在ログオンしているアカウント(=自分)のユーザー名情報を表示させるツールである(コマンド名は「Who am I ?」という意味であり、もともとUNIXで使われていたコマンドである)。Windows Server 2003では標準コマンドとしてあらかじめOSに含まれている。
このコマンドを引数なしで実行すると、単にログオンしているユーザー名(とコンピュータ名もしくはドメイン名)が表示される。オプションを指定すると、ユーザーごとの特権やSIDの一覧などといった情報も表示させることができる。
C:\>whoami ……引数なしで実行する
d-advantage2\Administrator
GUI形式でログオンするだけでなく、Telnetサービスを使用してコンピュータにログオンしている場合もある。Telnet経由でログオンしているユーザーは、Telnetのサーバ側でTelnet用の管理ツール、tlntadmn.exeを使って調べることができる。
Windows 2000用のtlntadmn.exeでは、ツールを起動して、メニューからユーザー一覧を表示させるメニューを選択する。
※Windows 2000の場合
C:\>tlntadmn ……ツールを起動する
Microsoft (R) Windows 2000 (TM) (Build 2195)
Telnet Server Admin (Build 5.00.99201.1)
次のオプションから 1 つを選択してください:
0) このアプリケーションを終了します
1) 現在のユーザーの一覧を表示します ……これを実行する
2) ユーザーのセッションを終了します
3) レジストリの設定を表示/変更します
4) サービスを開始します
5) サービスを停止します
[0 - 5] のいずれかの番号を入力してオプションを選択してください: 1
現在のユーザー ……Telnetサービスにログオンしているユーザー
USERNAME DOMAIN REMOTE MACHINE SESSION ID LOGON TIME
-------------- ---------- ---------------- ----------- --------------
Administrator . 192.168.2.155 2 12/01/2005 10:29
Windows XP/Windows Server 2003のtlntadmn.exeでは、-sオプションを付けると、現在のユーザーの一覧(セッションの一覧)が表示される。
※Windows XP/Windows Server 2003の場合
C:\>tlntadmn -s ……コマンドの実行
1 telnet セッション ……セッションの一覧
ID Domain UserName Client LogonDate LogonTime IdleTime
(hh:mm:ss)
--------------------------------------------------------------------------------
3596 d-advantage Admin 192.168.2.193 2005/12/01 10:41:37 0:00:02
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.