トピックはじめにこの付録では、ソリューションで提供されるスクリプトとその他のサポート ファイルについて簡単に説明します。スクリプトは完全に機能し、ソリューションでテストされていますが、広範な品質管理プロセスは実施されていません。スクリプトの目的は、テクニックを示し、ユーザー固有の管理スクリプトの基礎を提供することです。スクリプトを運用環境で展開する前に、ユーザー環境で十分にテストする必要があります。 免責事項サンプル スクリプトは、マイクロソフトのどのスタンダード サポート プログラムまたはサービスでもサポートされていません。これらのサンプル スクリプトは、どのような保証もない現状のままの状態で提供されるものです。マイクロソフトは、商品性、特定の目的に対する適合性を含む一切の黙示の保証をいたしかねます。このサンプル スクリプトおよびドキュメントの使用または機能から生じるリスクは、お客様が負うものとします。マイクロソフト、本サンプル スクリプトの作成者、または本スクリプトの作成、製造、配布に関与する者は、どのような場合においても、本サンプル スクリプトおよびドキュメントの使用または使用不能から生じる損害 (逸失利益、事業の中断、事業情報の喪失、またはその他の金銭的損失を含みますがこれらに限定されません) に関して一切責任を負わないものとします。たとえマイクロソフトがこのような損害の可能性について知らされていた場合でも、責任を負うことはありません。 ソリューションに含まれるファイルの一覧次の表は、このソリューションで提供されるすべてのファイルの一覧です。これらのファイルは、MSSWLANTools.msi という Windows® Installer ファイルからインストールされます。 表 D.1: ソリューションで提供されるファイルの一覧 メインの CMD ファイル | | MSSSetup.cmd MSSTools.cmd | Microsoft Windows スクリプト ホスト (WSH) ファイルへのインターフェイスを提供し、構文を簡素化するバッチ ファイル。コマンド ラインで単一パラメータとしてジョブ名を指定することによって、さまざまなジョブを実行できます。構文は次のとおりです。 msssetupJobName [/param:value] msstools JobName [/param:value] ここで、JobName には操作名が入ります。JobName を指定せずにこのスクリプトを実行すると、利用可能な全ジョブの一覧が、各ジョブの機能に関する簡単な説明とともに表示されます。 | WSH XML ファイル | | msssetup.wsf msstools.wsf | 利用可能な個別のジョブを指定する WSH XML ファイル。WSF ファイルで定義されたジョブは、VBS ファイルで定義されているプロシージャを呼び出します。構文は次のとおりです。 Cscript //job:JobName msstools.wsf [/param:value] JobName を指定せずにこのスクリプトを実行すると、WSF ファイル内の利用可能な全ジョブの一覧が、各ジョブの機能に関する簡単な説明とともに表示されます。 | VBScript ファイル | | ias_setup.vbs | インターネット認証サービス (IAS) のセットアップ中に使用されるルーチン | ias_tools.vbs | IAS の動作および監視中に使用されるルーチン | Gen_setup.vbs | IAS または証明書サービスに特化せず、実装中に使用されたルーチン | ca_setup.vbs | 証明機関 (CA) のセットアップ中に使用されるルーチン | ca_monitor.vbs | CA の監視機能によって使用されるルーチン | constants.vbs | 他の VBS ファイルによって使用される定数 | helper.vbs | 他の VBS ファイルによって使用される汎用ルーチン | pkiparams.vbs | CA の多数のセットアップ パラメータを定義するのに使用される定数 | その他のファイル | | InstCAPICOM.cmd | CAPICOM のインストールを簡素化する CMD ファイル | CreateShortCut.cmd | VBS ファイルからルーチンを呼び出して、ユーザーのデスクトップ上にショートカットを作成する CMD ファイル。ショートカットは、スクリプトのインストール フォルダに設定されている現在のディレクトリから CMD.EXE を起動します。 | ComputerCerts.msc | コンピュータ ストア内の証明書を表示するように事前に定義された管理コンソール | AddRADIUSClient.exe | コマンド ラインから IAS に RADIUS クライアントを追加するユーティリティ(注: このツールを使用するには、.NET Framework がインストールされている必要があります。) | Interop.SDOIASLib.dll | AddRADIUSClient.exe に必要なサポート ライブラリ | Source | AddRADIUSClient ツールのソース コードを含むフォルダ | グループ ポリシー ファイル | | MSSWLANGPOs | このソリューションで提供される 2 つの定義済みグループ ポリシー オブジェクト (GPO) 用 XML 定義ファイルとデータ ファイルを含むフォルダ | ドキュメント | | Securing Wireless LANs.rtf | この章と同じ内容の Readme ファイル |
スクリプトの構造Microsoft Visual Basic® Scripting Edition (VBScript) ファイルがどのように連携するのかを理解するには、多少の説明が必要です。多くの VBScript の例とは異なり、このソリューションで提供されるスクリプト ファイルには複数の関数が含まれており、しばしばそれらは互いに独立しています。これらの関数へのアクセスを可能にするために、これらのスクリプトは WSH の "ジョブ" 機能を使用しています。これにより、複数の独立したプログラム関数を同じファイルに格納したり、スクリプトのパラメータとしてジョブ名を指定することでこれらの関数を同じファイルから呼び出したりすることができます。 さまざまなスクリプト操作へのユーザー インターフェイスを含む 2 つの Windows スクリプト (.wsf) ファイルがあります。.wsf ファイルは一連の .vbs ファイルを呼び出します。.vbs ファイルには、特定のジョブの動作を実現するコードが含まれています。 ジョブを呼び出すには、次の構文を使用します。 cscript //job:JobNameWScriptFile.wsf ここで、JobName には操作名が入り、WScriptFile にはスクリプトの XML インターフェイス ファイルの名前が入ります。ConfigureCA ジョブが定義されている .wsf ファイルの抜粋を次に示します。
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="Windows Script Host">
<job id="ConfigureCA">
<description>Configures the CA registry parameters</description>
<script language="VBScript" src="constants.vbs" />
<script language="VBScript" src="pkiparams.vbs" />
<script language="VBScript" src="helper.vbs" />
<script language="VBScript" src="ca_setup.vbs" />
<script language="VBScript">
<![CDATA[
Initialize True, True
ConfigureCA
CloseDown
]]>
</script>
この抜粋では、ジョブ定義で、そのジョブに必要な関数、サブルーチン、またはデータが .vbs ファイルの constants.vbs、pkiparams.vbs、helper.vbs、および ca_setup.vbs に含まれています。つまり、これらのファイルを読み込む必要があります。最後のセクションでは、ジョブを開始するために実行する最上位の関数を指定しています。この例における関数は、ログの収集をセットアップする Initialize、CA の構成というメイン ジョブを実行する ConfigureCA、そしてログを閉じる CloseDown です。 各 .wsf ファイルの最初のジョブは、このファイルに含まれるすべてのジョブの名前 (ID) と説明を一覧表示するように定義されています。したがって、特定のジョブを要求せずに .wsf ファイルを実行すると、この最初のジョブが既定で実行され、ファイル内の利用可能な全ジョブの名前と説明を含む短いヘルプ画面が表示されます。次の表は、このソリューションで提供される各 .wsf ファイルで利用可能なジョブの一覧です。 表 D.2: MSSSetup.wsf 内のジョブの一覧 ListJobs | WSF ファイル内のすべてのジョブを一覧表示します。 | ConfigureCA | CA レジストリ パラメータを構成します。 | ConfigureTemplates | CA 証明書テンプレートを構成します。 | CheckCAEnvironment | CA をインストールする前に環境を確認します。 | InstallCA | 証明書サービスをインストールします。 | CreateShortcut | MSS WLAN Tools へのショートカットをデスクトップ上に作成します。 | ImportSecurityGPO | サーバー セキュリティが設定された GPO をドメインにインポートします。 | ImportAutoEnrollGPO | 証明書の自動登録が設定された GPO をドメインにインポートします。 | ImportWLANClientGPO* | WLAN が設定された GPO をインポートします。 | CheckDomainNativeMode | ドメインがネイティブ モードであるかどうかを確認します。 | VerifyCAInstall | CA のインストールが成功しているかどうかを確認します。 | VerifyCAConfig | CA の構成が成功しているかどうかを確認します。 | CheckIASEnvironment | IAS をインストールする前に環境を確認します。 | InstallIAS | サーバーにインターネット認証サービスをインストールします。 | CreateWLANGroups | Active Directory® にセキュリティ グループを作成します。 | AddWLANGroupMembers | セキュリティ グループに正しいメンバを追加します。 |
注: アスタリスク (*) の付いているジョブは、このソリューションでは使用されません。 表 D.3: MSSTools.wsf 内のジョブの一覧 ListJobs | WSF ファイル内のすべてのジョブを一覧表示します。 | AddRADIUSClient | IAS に RADIUS クライアントを追加する対話型プロシージャ (パラメータ: [/path:OutputFileName]) | AddSecRADIUSClients | IAS に RADIUS クライアントを追加する対話型プロシージャ (パラメータ: [/path:InputFileName]) | GenRADIUSPwd | RADIUS クライアントのエントリとシークレットを生成します (パラメータ: /client:ClientName /ip:ClientIPAddress [/path:OutputFile])。 | ExportIASSettings | IAS サーバーの構成をファイルにエクスポートします (パラメータ: [/path:FolderToSaveSettingsFiles])。 | ImportIASSettings | IAS サーバーの構成をファイルからインポートします (パラメータ: [/path:FolderWithFilesToImport])。 | ExportIASClients | IAS RADIUS クライアントをファイルにエクスポートします (パラメータ: [/path:FolderToSaveClientsFile])。 | ImportIASClients | IAS RADIUS クライアントをファイルからインポートします (パラメータ: [/path:FolderWithClientsFileToImport])。 | BackupIAS | すべての IAS 設定をファイルにバックアップします (パラメータ: [/path:FolderToSaveBackupFile])。 | RestoreIAS | すべての IAS 設定をファイルから復元します (パラメータ: [/path:FolderFileToRestore])。 | CheckIAS | IAS サーバーが応答していることを確認します (パラメータ: [/verbose])。 | CheckCA | CA サービスが応答し、証明書失効リスト (CRL) が有効であることを確認します (パラメータ: [/verbose])。 | EnableIASLockout* | IAS のアカウント ロックアウトを有効にします (パラメータ: [/maxdenials:10] [/lockouttime:2880 (secs)])。 | DisableIASLockout* | IAS のアカウント ロックアウトを無効にします。 | ShowLockedOutAccounts* | ロックアウト状態のアカウントと認証に失敗したアカウントを表示します。 | ResetLockedOutAccount* | ロックアウト状態のアカウントをリセットします (パラメータ: /account:DomainName:AccountName)。 |
注: アスタリスク (*) の付いているジョブは、このソリューションでは使用されません。 ジョブの出力ほとんどのスクリプトは、進行状況の情報をコンソール ウィンドウに表示します。また、多くの場合、ログ ファイルへの記録も行います。この情報には、スクリプトの実行中に発生した問題に関するエラー情報が含まれる場合があります。ただし、監視スクリプトは例外です。非対話型のスケジュールされたジョブとして実行され、コンソール ウィンドウに出力を送信しない設計となっているためです。 スクリプトは、単純でスクロール可能なウィンドウを使用して出力を表示します。スクリプトが完了するたびに、ウィンドウを参照用に開いたままにするか、または閉じるか確認が行われます。 ほとんどのセットアップ プロシージャでは、出力は %SystemRoot%\debug\MSSWLAN-Setup.log というファイルにも記録されます。多くの定期的な運用タスクは、ログ ファイルに記録されません。ただし、IAS 構成のインポートなど、セキュリティや運用に大きな影響を及ぼす可能性のあるタスクは記録されます。RADIUS クライアントの追加や RADIUS クライアント シークレットの生成など、機密情報がログに書き込まれる可能性があるタスクは記録されません。 ジョブを実行するスクリプトは直接実行できますが、構文を簡素化する 2 つのコマンド シェル バッチ (.cmd) ファイルがあります。 .wsf ファイルを直接実行する場合の構文は、次のとおりです。 Cscript //job:JobName MssSetup.wsf 代わりに .cmd ファイルを使用すれば、構文は次のようにより簡単になります。 MssSetupJobName ジョブを指定せずに .cmd ファイルを実行すると、.wsf ファイル内の最初のジョブ (ListJobs) が実行されます。このジョブは、.wsf ファイル内の各ジョブの ID と説明を一覧表示します。 追加パラメータを取るジョブもあります。これらのジョブを実行するための構文と追加パラメータの詳細については、このソリューションの関連する章で説明します。追加パラメータを指定する場合の一般的な構文は、次のとおりです。 MssSetupJobName /ParamName:ParamValue ParamName はパラメータ名 (たとえば "path" や "client")、ParamValue はそのパラメータの設定 (たとえば "C:\MyFile.txt" や "マイ コンピュータ") です。埋め込みスペースを含むパラメータ値は、引用符 (") で囲む必要があります。
|