今週から何回かに分けて、TechNet Onlineの人気コンテンツ・スクリプトセンターについて取り上げていくことにしよう。ここには、スクリプトを使ったWindows管理の自動化作業を実現するために必要となる、「探す」「学ぶ」「強化する」が揃っている。

スクリプトセンターとは、WSH(Windows Scripting Host)の仕組みを使って動作するスクリプトに関する情報や、サンプルスクリプトをまとめたコンテンツだ。

作業の自動化にTechNetスクリプトセンター

筆者のモットーとして「同じことを3回繰り返したら、自動化できないかどうか考える」がある。同じ内容の作業を繰り返すのであれば、自動化する方が操作ミスを減らせるし、自動実行による省力化も見込める。

そこで登場するのがスクリプトだ。WSHではVBScriptとJScriptを使用できるが、TechNet Onlineのスクリプトセンターでは前者を使用している。

バッチファイルでも処理の自動化が可能だが、実行できる対象はコマンドラインツールに限定されるため、できることには限りがある。そこでスクリプトが登場する。WSHはWindows 98から登場した処理自動化機能で、単にコマンドを羅列するだけのバッチファイルとは別物であり、それだけに開発も難しい。そこでスクリプトセンターのようなコンテンツが意味を持つ。

スクリプトを使うと、Windowsに登録されているソフトウェアコンポーネントを呼び出して、オブジェクトやメソッドを操作する使い方が可能だ。たとえば、Active DirectoryであればADSI(Active Directory Service Interface)というインタフェースがある。これをスクリプトから呼び出せば、スクリプトを使ったActive Directoryの操作が可能になる。

このほか、ファイル操作やデータベース操作など、多様な機能を実現できるのはスクリプトの強みだ。

スクリプトを学ぶにはサンプルから

ただ、できることが多いということは、それだけ学習しなければならないことが多いという意味でもある。バッチファイルであれば、提携操作を構成するコマンドを羅列するだけでも記述できるが、スクリプトはそうはいかない。

そこで、最初はスクリプトセンターで提供しているサンプルスクリプトを入手して、使ってみるところから始めてみたい。スクリプトセンターのコンテンツは分野別・目的別に構成されており、それぞれにサンプルスクリプトが掲載されている。その中から、自分が必要としているものと同じ、あるいは近い内容のスクリプトを入手して、それをそのまま、あるいは手直しして使ってみるわけだ。

そこで、スクリプトセンターにアクセスしてみよう。

TechNet Online スクリプトセンター
http://technet.microsoft.com/ja-jp/scriptcenter/default.aspx

スクリプトセンターのトップ画面。TechNet Onlineのトップ画面から移動するには、画面左側のカテゴリー別一覧で[スクリプト]をクリックすればよい

ここから画面を下方にスクロールしていくと、分野別一覧が現れる。そこで[スクリプト一覧]を選択すると、どういった分野のスクリプトがあるかが分かる。それぞれの分野名をクリックすると、該当するページにジャンプするようになっている。

スクリプト一覧
http://www.microsoft.com/japan/technet/scriptcenter/scripts/default.mspx

[Active Directory]であれば、Active Directoryを操作するためのスクリプトを集めているわけだ。その他の分野も同様で、製品別・分野別にスクリプトをまとめている。今回はActive Directoryの10周年にちなんで(?)、[Active Directory]以下にあるサンプルスクリプトを試してみよう。

[スクリプト一覧]以下には、分野別のスクリプト一覧がまとめられている

Active Directory用のサンプルスクリプトは、ユーザーアカウント、コンピュータアカウント、ドメイン、サイト、OUといったオブジェクトを操作するためのものが多い。ためしに、[コンピュータアカウント]をクリックしてみよう。

[Active Directory]以下のスクリプト一覧。この中から[コンピュータアカウント]をクリックしてみる

続いて表示する画面では、どういった操作を行うスクリプトがあるかを示している。その中から目的の操作に対応するものをクリックするわけだ。たとえば、[グローバルカタログサーバーの識別]をクリックすると、グローバルカタログサーバになっているドメインコントローラを検索するためのスクリプトを見ることができる。

コンピュータアカウントに関連するスクリプトの一覧が現れる

スクリプトセンターでは、スクリプトのファイル(*.vbs)を直接ダウンロードする形はとっていない。代わりに、画面にスクリプトのソースコードを表示するので、それを手元のテキストエディタにコピー&貼り付けして利用する。

ソースコードの部分は背景が灰色になっているので、そこに表示されているテキストを選択してから、コピーしてクリップボードに格納する。続いて、任意のテキストエディタを起動して、コピーしたソースコードを貼り付けて保存すればよい。ファイル名は好きなようにつけてよいが、拡張子は「*.vbs」とする。

[グローバルカタログサーバーの識別]をクリックすると画面に現れる、サンプルスクリプト。これをコピーして、テキストエディタにコピーする

それをメモ帳などのテキストエディタに貼り付けて、拡張子「*.vbs」を付けたファイルとして保存すればOK

そのまま実行できる場合と、実行できない場合がある

こうして作成したファイルをエクスプローラ上でダブルクリックしたり、コマンドプロンプトでcscriptコマンドの引数として指定したりすることで実行できるのだが、そこでひとつ注意点がある。

特にActive Directory関連のスクリプトでは、スクリプトのソースコード中にドメイン名などの情報が含まれているのが普通だ。それを、自分が使用しているドメインの名前と合わせなければ、当然ながら実行できない。そこで、ソースコードの中からドメイン名に対応する部分を見つけて、書き直す必要がある。

たまたま(?)、先に例として取り上げた[グローバルカタログサーバーの識別]では、ドメイン名の情報は含まれておらず、どのドメインでも汎用的に利用できる。しかし、実際にはドメイン名を含むサンプルスクリプトの方が多いと考えられるため、ソースコードの中からドメイン名に対応する記述を捜す必要がある。LDAP識別名でドメイン名を記述している箇所を捜してみよう。

『TechNet Plus Direct サブスクリプション』を5名様にプレゼント!

2010年3月31日までに応募された読者の中から、抽選で5名様に「TechNet Plus Direct サブスクリプション」をプレゼントします。

TechNet Plus サブスクリプションは、情報システムの評価、導入、運用、管理を支援する IT プロフェッショナルのための年間購読サービスで、マイクロソフトの最新技術リソースや、製品評価版のソフトウェアやベータ版をダウンロードして評価目的で利用できます。

TechNet Plus サブスクリプションの詳細はこちら

ご提供: マイクロソフト


マイコミジャーナル1クリックプレゼントは、各企業様のご協力をいただいて、読者の皆様に先着&抽選で素敵な賞品がもらえるプレゼント企画です。マイコミジャーナル会員であれば誰でも申し込み可能です。奮ってご応募ください。

応募方法 : マイコミコミジャーナル会員でない方は、「プレゼントに応募する」ボタンをクリックして案内に従って会員登録を済ませてからご応募ください。※会員登録されていても追加情報の登録が必要な場合があります。

賞品名 : TechNet Plus Direct サブスクリプション(抽選・5名様)
応募締切 : 2010年3月31日(日)
発表方法 : 当選者に当選を知らせるメールをお送りしますので、これをもって発表に代えさせていただきます。