WSHからの利用
WSH(Windows Scripting Host)は、Windows 98の新機能として登場したWindows 管理ツールで、スクリプト実行用のホスト環境を提供します。WSHの実体は、コマンドプロンプト(CUI)で実行される「CScript.exe」と、WindowsアプリケーションのようなGUIで実行される「WScript.exe」です。CUI・GUIという実行環境は異なりますが、スクリプトの記述方法に違いはありません。スクリプトはテキストファイルですので、メモ帳などのテキストエディタで作成が可能です。
WSH を利用するスクリプトは、VB Script,JScript,Perlなどのスクリプト言語で記述され、WSHが提供するオブジェクトとサービスを利用し、様々な処理(画面へのメッセージ出力、CreateObject()/GetObject() などの基本的な関数の実行、ネットワーク ドライブのマッピング、プリンタへの接続、環境変数の取得/変更、レジストリの取得/変更など)を実行します。
WSHのプログラミングについては、MicrosoftのWebサイトなどで詳細が載っていますので、そちらを参照していただくとして...ここでは、WMI利用に目的を絞って解説していきたいと思います。
例として、Windowsにユーザーがログオンした時刻をWMIのWin32_NetworkLoginProfileから取得するVBScriptで記述されたスクリプトを以下に示します。メモ帳などのテキストエディタで、以下のサンプルを作成してください。
このサンプルでは、GetObject関数でWMI(=winmgmts)のネットワーク ログイン プロファイル(Win32_NetworkLoginProfile)のインスタンスの一覧を取得し、その一覧に含まれるユーザー名(objProfile.Name)とログオン時刻(objProfile.LastLogon)をWScriptオブジェクトのEchoメソッドで表示しています。
このサンプルをWindows 2000 Professionalのコマンドプロンプトから、実行した例を以下に示します。
この実行例では、コマンドプロンプト用のWSH実行環境(CScript.exe)でスクリプト(LastLogin.vbs)を実行しています。実行直後には、WSHのバージョン(5.6)などが表示され、「Name=」ではじまる3行がスクリプトの実行結果です。実行結果は、Windowsドメイン環境・ワークグループ環境、ユーザーのログオンした日時などにより異なります。
このサンプルは、GUI用のWSH実行環境(WScript.exe)でも、スクリプトの内容を変更せずに実行できます。
.NETを利用したWindowsシステム管理





