Insider's Eye

GUIを超えて進化するWindows管理ツール(2)

―― コマンドラインとスクリプト・ベースの管理を重視したWindows Server 2003のメリット  ――

Michael Cherry
2003/05/27
Copyright(C) 2003, Redmond Communications Inc. and Mediaselect Inc

コマンドラインの改良

 WMIとWSHベースのスクリプティングは強力だが、コマンドラインと基本的なバッチ・スクリプティングは依然として人気がある。1回限りのタスクやときどき実行するタスクの場合は使うのも作るのも簡単で、管理者はより複雑なスクリプト言語やCOMインターフェイスを学ぶ必要がないからだ。コマンドラインとバッチ・ファイルによる管理をいっそう便利にするために、Microsoftは一部の既存コマンドライン・ツールを拡張し、一部のツールを別のリソース・キットから基本組み込みコマンドへと変更し、いくつかの新ツールを追加した(Windows Server 2003の一部の既存および新コマンド・ライン管理ツールのリストは表「コマンドライン・ツール」を参照)。

コマンドライン・ツール 説明
bootcfg boot.iniファイル(Windowsのスタート方法を制御するパラメータを含む)のプロパティを参照または設定する
choice バッチ・ファイルの実行中にメニューの選択肢を選ぶ
cipher 暗号化サービスの管理と設定を行う
clip コマンドライン出力をクリップボードにリダイレクトする
cmdkey 格納されたユーザー名とパスワード(事前入力した認証)を管理する
driverquery 現在メモリ上にあるドライバを確認する
dsadd, dsget, dsmod, dsmove, dsrm Active Directoryオブジェクトを生成/取得(プロパティ)/変更/移動/削除する
freedisk 一定のパーセンテージの空きスペースが利用可能な場合のみバッチ・ファイルを実行する
gettype OSのバージョンを判断する
gpresult 特定のコンピュータおよびユーザーに対し、現在適用可能なグループ・ポリシーからRSOP(ポリシーの結果セット)を取得する
netsh ネットワーク設定ツール(NetDiagの機能を搭載する)
netsh ipsec IPSecの管理と設定を行う
powercfg 電源管理を設定する
waitfor バッチ・ファイルを一定期間停止する
where ファイルを検索する
whoami 現在ログオン中のユーザーを識別する
wmic コマンドラインからWMIにアクセスする
コマンドライン・ツール

●拡張されたツール
 Windows Server 2003では、一部の既存のコマンドライン・ツールは拡張されて機能を増やした。例えば、DHCPやDNS、Routing and Remote Access Services(RRAS)を管理するためのスクリプト可能なコマンドライン・ツールである「netsh」は、IPSecセキュリティ・プロトコルが管理できるようになり、netdiagコマンド(単独のコマンドとしては廃止された)の機能を実装するようになった。さらに、Active Directory移行ツールなどの一部の既存ツールは拡張されて、スクリプトやバッチ・ファイルでの使用が簡略化された。

●移動したツール
 従来多くのコマンドライン・ツールは、Windows製品とは別に、各OSバージョンごとのリソース・キットの一部として出荷されていた。これらのツールは便利だったが、Microsoftはリソース・キットの一部として出荷されたツールはサポートしていない。Windows Server 2003では、バッチ・ファイル・スクリプトの作成を簡略化する多くのツールをパッケージに含め、サポートを行うことにしている。例えば、バッチ・ファイルの実行中に分岐を制御するために「Yes/No」オプションを表示する「choice」は、Windows Server 2003に付属している。

●新ツール
 Windows Server 2003には、グループ・ポリシーで管理されたポリシーのうちどれがコンピュータに適用されたかを管理者が判断できる「GPResults」や、管理者がコマンドライン・インターフェイスでWMIにアクセスできる「Windows Management Instrumentation Command Line(WMIC)」などの新しいコマンドライン・ツールが付属する。

 WMIC(Windows XPでも利用可能)は、日常的な管理に用いるツールだ。管理者は、従来はより複雑なWSHベースのスクリプトを必要としたタスクを、コマンドラインやバッチ・ファイルを用いて実行できる。エイリアス(WMIクラス用の分かりやすいコマンドライン名)を用いてWMIの複雑さの一部を隠し、基本的な管理情報へのアクセスを可能にする。例えばWMICでは、管理者はディスク・ドライブ情報にアクセスする際にWMIの正確なクラス名である「WIN32_LOGICALDISK」を使う代わりに、分かりやすい「Logicaldisk」が使える。WMICは任意のWMICコマンドの出力を、プレーン・テキスト、HTML、XML、MOF(WMIが管理するオブジェクト形式)およびCSV形式(Excelなどのアプリケーションでの読み込みに適したカンマ区切りの値)に簡単に変換できる(WMICインタラクティブ・セッションの例は「典型的なWMICセッション」を参照)。

画面:典型的なWMICセッション
典型的なWMICセッション
Windows Management Instrumentation Command Line(WMIC)は、管理者のWindows Management Instrumentation(WMI)へのアクセスを簡略化し、管理タスクを迅速化する。例えば、WMICはコンピュータのC:ドライブの空き容量を判断するために使える。WMICには2つのオペレーション・モードが用意されている。1つはインタラクティブ・モード(図を参照)で、管理者はコマンド・プロンプトに「wmic」と入力し、それからWMICプロンプトに任意のWMICコマンドを入力する。もう1つは非インタラクティブ・モードで(図には示されていない)、WMICがコマンドを実行してからコマンド・プロンプトに復帰する。この2番目のモードでは、WMICはバッチ・ファイルの中で実行可能だ。

 管理者は新しいエイリアスの定義や新しい出力形式の追加によってWMICを拡張できるが、WMICの使いやすさには多少の制約がある。WMIの機能のサブセットしか利用できず、あるWMICセッションの出力を別のWMICセッションの入力に自動的に送ったりパイプでつないだりできない。

ツールとトレーニングに改善の余地あり

 Microsoftは、Windows XPとWindows Server 2003の管理機能に多くの改良を加えた。しかし管理者が使うスクリプト編集ツールとデバッグ・ツールには改善の余地があり、新しいスクリプト言語のトレーニングも必要だろう。

 今日では、大多数の管理者はテキスト・エディタを使って管理スクリプトの作成とメンテナンスを行っている。そのため、スクリプトをデバッグする際には、スクリプトが実行中の機能や、特定のタイミングでの変数の値を示す出力文を加えるなどしなければならない。これはMicrosoftが、開発者ではない管理者のスクリプト開発とメンテナンスを簡略化する軽量のスクリプト編集ツールとデバッガを用意していないためだ。MicrosoftのVisual Studio .NETの統合開発環境(IDE)を使うことで、開発者はWMI情報を使うC#ないしVB.NETプログラムを書くことができるが、スクリプティング・ツールとして使うには高価かつ複雑である。

 また、Microsoftは多数のサンプル・スクリプトとスクリプティングに関するチュートリアルを用意している。しかし、コマンドラインやバッチ・スクリプトの記述には慣れているが、VBScriptのようなオブジェクト指向言語には不慣れな管理者は、WSHスクリプトの記述方法とCOMインターフェイス経由でWMIなどのほかのプログラムやサービスを使う方法を理解するために、若干のトレーニングを必要とするだろう。End of Article

参考資料

Directions on Microsoft日本語版
本記事は、(株)メディアセレクトが発行するマイクロソフト技術戦略情報誌「Directions on Microsoft日本語版」から、同社の許可を得て内容を転載したものです。Directions on Microsoftは、同社のWebサイトより定期購読の申込みができます。
 
 

 INDEX
  Insider's Eye
    GUIを超えて進化するWindows管理ツール(1)
  GUIを超えて進化するWindows管理ツール(2)
 
 「Insider's Eye」


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

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間