Windows 2000 Insider/PC Insider合同特別企画

Windows XPの正体

強化されたコマンドライン・ツール(前編)

デジタルアドバンテージ
2001/10/30

 Windows XPは、グラフィカルなユーザー・インターフェイスを備えたOSであり、いうまでもなくマウスとキーボードを使って操作するのが当たり前である。Windows XPでは、以前のWindows NTやWindows 2000と比べると、GUIにますます磨きがかかり、さらに使いやすくなっている(異論もあるかもしれないが……)。だが、この華やかなGUIの進化の影に隠れてはいるが、実はCUIインターフェイスである「コマンド プロンプト」もまだまだ健在である。いやそれどころか、さらにコマンド群が強化され、まだまだ頑張るつもりのようである。今回は、この強化されたCUIコマンド群についてみていきたい。

 昨今では、GUIインターフェイスを備えたシステムが一般的なので、ほとんどすべての操作をキーボードだけでこなすユーザーはめっきり少なくなったが、管理者やプログラマなら、その重要性は十分認識しているだろう。そういう人の声に応えたからかどうかは知らないが、マイクロソフトは、Windows OSのバージョンを上げるたびに、少しずつではあるがコマンドプロンプトの機能を強化している。ただし、今回のWindows 2000からWindows XPというバージョンアップでは、コマンドプロンプト自体の機能強化(内部コマンドの強化)はほとんど行わず、代わりにいくつかの外部コマンド(.exe形式のプログラム)の強化が行われている(とはいうものの、UNIXのような機能をすべて持っているというわけではないので、あまり期待しすぎないように)。例えばイベントビューアのような、いままではGUIでしか操作できなかったようなものが、コマンドプロンプトから利用できるようになっているのである(これまでも、リソースキットなどを使えば不可能ではなかったが)。

 今回の前編では、この追加されたコマンドを一覧表にまとめ、後編で実際にいくつかのコマンドを使った例を紹介することにする。

追加されたコマンドライン版ユーティリティ

 以下に、Windows XPで新たに追加されたコマンドライン版のユーティリティについて、その名前と簡単な説明をまとめておく。これら以外にも、以前のコマンドに対してさらに機能強化を行っているものもあるが(例えばnetstatの“-o”オプション。TCPコネクションを所有しているプロセスのIDを調べることができるので、ネットワークのトラブルシューティング時などには便利である)、それについてはいずれまた機会を改めて紹介したい。

 ところで以下のコマンドを見れば分かるように、すでにGUIベースの操作環境が提供されているものを、新たにCUIでも操作できるようにしたものが多い。GUIでは、設定の状態を保存したり記録したりするのは難しかったが(せいぜい「印刷」しておくぐらいしか手がなかった)、これならば簡単にテキスト・ファイルなどとして残しておけるので、便利である。

 なお、reg.exeやsc.exeなどは、サブコマンドを持っているので、さらに別の表にまとめている。

コマンド 意味
bootcfg.exe ブート・ファイル・マネージャ――Boot.iniファイルの表示や編集、設定変更などをコマンドラインで行う
defrag.exe デフラグ・ツール――コマンドラインでファイル・システムのデフラグを行うためのツール。スケジュール・コマンドと組み合わせた運用などが可能
driverquery.exe ドライバのクエリー――インストールされたドライバとそのプロパティの一覧を表示する
eventcreate.exe カスタム・イベントの作成――特定のイベント・ログにカスタム・イベントを作成する。
eventquery.vbs イベントのクエリー――イベント・ログの内容を指定された条件に基づいて取り出して表示する
eventtriggers.exe イベント・トリガの作成――イベントが発生した場合に、指定された外部コマンドを起動するなどのイベント・トリガを作成したり、表示したりする
evntcmd.exe イベントからトラップへの変換――指定したイベントが発生した場合に、SNMPトラップ・メッセージの送信を行うための設定を行う
fsutil.exe ファイル・システム・ユーティリティ――ファイル・システムに関するさまざまな操作や表示を行う。8.3形式の名前の生成やハードリンク、クォータ、リパース・ポイント、ボリュームのマウントなどの設定や表示をコマンドラインから操作できる
getmac.exe MACアドレスの取得――指定したマシンに装着されているネットワークのMACアドレスを取得する
gpresult.exe GPの取得――ユーザーやコンピュータに設定されたグループ・ポリシーや、それらの適用結果(ログオン時に実際にユーザーやコンピュータに適用されるグループ・ポリシー)の結果セット(RSoP) を表示する
gpupdate.exe GPの更新――グループ・ポリシーの設定を最新の情報に更新する
logman.exe ログ管理――ローカルやリモートのシステム上のパフォーマンス・カウンタやイベント・トレース・ログの管理。リモートからカウンタやログをスケジュールに基づいて収集したり、モニタしたりできる
logoff.exe ログオフ――自分のセッションを終了したり、他のユーザーのセッションを強制的にログオフさせたりできる
openfiles.exe オープン中のファイルの追跡――ローカル・システム上でオープンされているファイルの一覧を表示したり、ファイル・ハンドルIDやユーザー名を指定して強制クローズ(切断)する
pagefileconfig.vbs ページング・ファイルの設定――仮想記憶のために使用するページ・ファイルの作成や削除、サイズ変更などを行う
prncnfg.vbs プリンタ情報の設定――プリンタの情報の取得や設定変更(使用ポートやコメント、共有名を始めとする各種パラメータ)、プリンタの共有名変更などを行う
Prndrvr.vbs プリンタ・ドライバの設定――プリンタ・ドライバを追加/削除したり、ドライバの情報を表示したりする
prnjobs.vbs プリント・ジョブの設定――印刷ジョブの一覧を表示したり、各ジョブを一時停止や再開、キャンセルしたりする
prnmngr.vbs プリンタの管理――ローカル・ポートにプリンタを接続したり、ローカル・マシンに対して(外部の)プリンタを追加/削除したり、「通常使うプリンタ」を設定/変更したりする
prnport.vbs 標準TCP/IPプリンタ・ポートの管理――印刷で使用されるTCP/IPポート(LPRポートもしくはTCP RAWプリンタ・ポート)の作成や削除、一覧表示、構成変更などを行う
prnqctl.vbs プリンタの制御――プリンタ・キューの一時停止や再開、プリンタ・キューの全削除、テストページの印刷などを行う
proxycfg.exe IEのProxy設定――Internet Explorerなどで使用されるHTTP Proxyを設定したり、状態を表示したりするためのツール
relog.exe ログの再ロギング――既存のパフォーマンス・ログのデータを再サンプリングして、サンプリング周期やファイル形式の異なる新しいログを作成する
reset.exe セッションのリセット――「reset session ID」という形式で、指定したセッションをリセットする(ログアウトさせる)
shutdown.exe シャットダウン――ローカルもしくはリモートのマシンをシャットダウンしたり、再起動したりする
systeminfo.exe システム状態の表示――ローカルもしくはリモート・マシンのOSの情報やプロダクトID、セキュリティ情報、ホットフィックスのインストール状態などのほか、RAM/ネットワーク/ディスクなどのハードウェア情報も詳細に表示する
taskkill.exe タスクを終了させる――指定されたタスクを強制的に終了させる。条件に一致するタスクを複数まとめて一度に終了させることもできる
tasklist.exe タスク一覧の表示――ローカルやリモートのマシン上で動作しているタスクの一覧を表示する
typeperf.exe コマンドライン版のパフォーマンス カウンタ――パフォーマンス カウンタのデータをテキストとして一定時間ごとに出力(表示)したり、ログ・ファイルに書き出したりする
vssadmin.exe ボリューム シャドウ コピー サービス管理――オープン中のファイルが含まれるボリュームをバックアップしようとすると、Windows XPではそのボリュームのコピーを作成しておいて、そちらをバックアップする(「ボリューム シャドー コピー」という)。これにより、ファイルがオープン中でも正しくバックアップを取ることができる。vssadminはこのシャドー コピーのためのサービスを管理するツール

コマンドライン版のレジストリ操作ツールreg.exe

 reg.exeはレジストリを操作するためのツールであり、さまざまなサブコマンドを持っている。

コマンド 意味
reg.exe レジストリをコマンドラインで操作するためのツール。次のサブコマンドを参照
reg query 指定されたレジストリ・キーの値を表示する
reg add レジストリへのキーやエントリ(とその値の)を追加・修正する
reg delete レジストリからのキーやエントリを削除する
reg copy レジストリのツリーをコピーする。ローカルのレジストリ内だけでなく、2つのマシン間でのリモート・コピーも可能
reg save レジストリ・ツリーの保存。指定されたサブキー以下をファイルに保存する
reg restore reg saveで保存されたレジストリを、ローカルのコンピュータ上の指定されたツリーの場所に復元する
reg load reg saveで保存されたレジストリを、元とは異なる場所へロード/復元する。リモートのマシンへも書き戻せる
reg unload reg load 操作で読み込まれたレジストリのセクションを削除する
reg compare 指定された2カ所のレジストリ(ツリー)を比較して、その相違点もしくは同じ部分を表示する
reg export 指定されたキーやエントリ(とその値)をファイルに書き出す
reg import reg exportで書き出されたレジストリ値をローカルのコンピュータに書き戻す

サービス制御コマンド

 scは、Windows XPのシステム・サービスを制御するためのコマンドである。コントロール パネルのサービスで制御するのと同等か、それ以上の細かい制御を行うことができる。

コマンド 意味
sc.exe システム・サービスの管理。次のサブコマンドを参照
sc boot 直前のブート結果を前回の正常起動時の構成として保存するかどうかを設定する
sc lock サービス コントロール マネージャのデータベースをロックする
sc querylock サービス コントロール マネージャのデータベースのロック状態を調べる
sc query サービスの状態やドライバの情報などを表示する
sc queryex より詳細なサービスの情報(プロセスIDなど)を表示する
sc start サービスを開始する
sc pause サービスを一時停止する
sc interrogate サービスに INTERROGATE 制御要求を送信する(これによりサービス コントロール マネージャのサービス状態が更新される)
sc continue 一時停止していたサービスを再開する
sc stop サービスを停止する
sc config レジストリやサービス コントロール マネージャのデータベース中にあるサービスのエントリの値を修正する
sc description サービスの説明文字列を設定する
sc failure サービス失敗時に対処するための動作を設定する
sc qc サービスの構成情報を問い合わせる
sc qdescription サービスの説明文字列を表示する
sc qfailure サービス失敗時の動作を設定する
sc delete レジストリからサービスのエントリを削除する
sc create レジストリやサービス コントロール マネージャのデータベース中にサービスのためのエントリを作成する
sc control サービスに controlを送信する
sc sdshow サービスのセキュリティ記述子を表示する
sc sdset サービスのセキュリティ記述子を設定する
sc getdisplayname 特定のサービスに関連付けられている表示名を取得する
sc getkeyname 特定のサービスに関連付けられているキー名を取得する
sc enumdepend 依存しているサービスを列挙する

リモートデスクトップ接続関連のコマンド

 以下にまとめてあるのは、リモート デスクトップ関連のコマンドである。コマンドプロンプト中でこれらのコマンドを使うことにより、例えばキーボードやマウスを使わずに、セッション(各ユーザーごとの接続環境のこと)を切り換えることもできる。ただし実際にはこれらのコマンドは、すべてWindows 2000のターミナル・サービスですでに用意されていたものであるが(リモート デスクトップ機能は、ターミナル サービス機能を使って実現されている)、Windows XPのユーザーには馴染みが少ないと思うのでここにまとめておく。

コマンド 意味
change logon クライアント・セッションからのログオンの有効/無効の切り換えとその状態の表示
change port セッションにおけるCOMポートのマッピング(リダイレクト)の有効/無効の切り替えとその状態の表示
change user .INIファイル・マッピングの制御――ターミナル・サービス(リモート デスクトップ接続のサービス)環境では、複数ユーザーが同じ.INIファイルを共有する可能性があるので、それらを正しくユーザーごとに振り分けるための制御
cprofile.exe プロファイルのクリーンアップ――プロファイル中にある無駄な領域を削除し、さらにファイルの関連付けが無効な場合は、その関連付けをレジストリからも削除する
flattemp TMPディレクトリの制御――複数ユーザー間で一時ファイル用ディレクトリ領域を共有するための制御
logoff セッションからのログオフ――ログオフ処理。ターミナル サービスのセッションを終了し、使用していた領域を解放する
msg メッセージの送信――セッション間で、ユーザー名やセッションIDを指定してメッセージを送信する
mstsc リモート デスクトップ・クライアント――リモート デスクトップ接続のためのクライアント・プログラム
query process プロセス状態のクエリー――各セッションやユーザーごとのターミナル・サービス上で稼働しているプロセスの一覧情報を調べる
query session セッション状態のクエリー――システムで稼働中のセッションの状態やその一覧を調べる
query termserver ターミナル・サーバのクエリー――ネットワークや指定されたドメイン上で稼働している、ターミナル・サービスを実行中のマシンの一覧を取得する
query user ユーザー状態のクエリー――システムにログオンしているユーザーの一覧を取得する
register プログラムの登録――マルチセッション間で共有される特別な実効環境の準備を行う
reset session セッションのリセット――リモート デスクトップ接続からセッションをリセット(削除)できるようにする
shadow.exe セッションの制御――ほかのユーザーのアクティブなセッションをリモートで制御する
tscon 別セッションへの接続――指定されたセッションへ再接続する
tsdiscon セッションの切断――リモート デスクトップ接続のセッションを切断する
tskill プロセスの終了――セッション中で実行されているプロセスを終了させる
tsprof ユーザー・プロファイルのコピー――リモート デスクトップ接続で接続する各ユーザー用のプロファイルをコピーする
tsshutdn シャットダウン――ターミナル サービス(リモート デスクトップ接続サービス)を実行しているシステムをシャットダウンする。各ユーザーにはシャットダウンの通知が行われる

IPv6関連のコマンド

 IPv6は、IPアドレス幅の拡大などを施した、次世代のネットワーク・プロトコルである。デフォルトでは、IPv6はWindows XPにはインストールされていないが、IPv6機能を使用する場合には、これらのコマンドが役に立つだろう。

コマン21ド 意味
ipv6.exe IPv6管理ツール――IPv6モジュールのインストールやアンインストール、およびIPv6プロトコルスタックの管理を行うためのユーティリティ
ipsec6.exe IPSecモジュール――IPv6用IPSec関連の設定を行うためのプログラム
ping6.exe Pingモジュール――IPv6に対応したpingコマンド
tracert6.exe Tracerouteモジュール――IPv6に対応したtracertコマンド

 

 INDEX
強化されたコマンドライン・ツール(前編)
  強化されたコマンドライン・ツール(中編)
    1.ディスク/ファイル関連ツール(1)
    2.ディスク/ファイル関連ツール(2)
    3.タスク制御ユーティリティ
  強化されたコマンドライン・ツール(後編)
    4.イベント・ログ/レジストリ関連ツール
    5.その他のユーティリティ
 
 「Windows XPの正体」


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間