■前回のActive Directoryの設定における補足として,グローバル・カタログ(GC),FSMO(操作マスター)の説明を行う。
■数多くのユーザー・アカウントを一括して登録するにはCSVDEやLDIFDEなどのコマンドを利用すると便利である。
■拠点が増え,システム・リソースが増えたときには,移動ユーザー・プロファイルと分散ファイル・システム(DFS)のようなWindows Server 2003の機能を利用するとよい。

(2005年12月号「すぐできるWindowsサーバー強化術」より)

(山岸 真人,櫻井 敬子=NTTデータ先端技術)


 この連載では,東京に本社があるA社が,新規に大阪支店を構えるため,従来のActive Directoryのシステムを拡張していく——という想定で,Windowsサーバーを強化していく方法を紹介している。

 従来のシステムでは,クライアント30台,ドメイン・コントローラ(DC)1台でActive Directoryを構築していた。これに対して新規システムでは,あくまでシングル・ドメイン,シングル・フォレストとして,東京と大阪でサイトを分け,組織単位(OU)を分けて管理することとした。大阪支店にもDCを設置し,名前解決にDNS逆引きゾーンを追加,大阪拠点にも管理を委任できる担当者を置いた。

 今回はその続きとして,Active Directoryやグループ・ポリシーの設計に関して,重要な概念を説明し,コマンドによるアカウントの一括登録,共有フォルダ/共有プリンタの設定,Active Directoryならではの移動ユーザー・プロファイルの利用,パスワード・ポリシーやグループ・ポリシーの設定について解説する。

FSMOとGCを設計する
 最初に,Active Directoryの概要について補足説明をしておきたい。前回のシステム設計ではあくまで中小規模システムを強化するということで,最も単純な構成に留めた拡張を考えたものだった。

 しかし,一般的には,子会社のネットワークであったり,取引先の会社のネットワークであったりと,新規拠点でないこともある。またシステム規模や稼働するアプリケーションに応じて,信頼性や高速処理,大量処理が求められたりと,様々な事情が考えられる。

 Active Directoryでは様々な事情に応じて,設計も変えられるようになっている。設計に必要な機能としてグローバル・カタログ(GC)とFSMO(操作マスター)を説明しよう。

 GCとは,DCに保存されたActive Directoryの情報のうち,頻繁にアクセスする部分だけを取り出してデータベース化したものである。既定ではフォレスト内で最初に作成されたDCだけがGCサーバーになっている。  FSMOとは,複数のDCがあるとき,特定の機能を割り当てられたDCのこと,またはその機能のことである。FSMOには以下のような5種類がある。デフォルトではこれら5つの機能は最初に作成したDCに集中して存在する。


△ 図をクリックすると拡大されます
図1●FSMOとGCを異なるサーバーに割り当てた例
●スキーマ・マスター:Active Directoryの属性の変更などを管理する
●ドメイン名前付けマスター:ドメインの追加や削除を管理する
●PDCエミュレータ:Windows NTドメインのプライマリ・ドメイン・コントローラをエミュレーションする
●RIDマスター:ユーザーやコンピュータを識別するSID(セキュリティID)の基になるRID(相対識別子)を生成・管理する
●インフラストラクチャ・マスター:グループのメンバー変更などでドメイン間の整合性をとる

 それぞれ複数のドメインに複数のDCが存在するときにFSMOを割り当てる規則がある。ここでは図1のような構成に分散させたので参考にしてもらいたい。

大量のユーザー登録にはコマンドを使用する
 社内インフラの構成がある程度確定したら,現在動作しているDCに,新規のユーザーを登録したり,現在登録済みのユーザーを適切なOUへ移動したりといった作業が必要になる。

 Windowsのアカウント登録を行うには,(1)[Active Directoryユーザーとコンピュータ]などのGUI(グラフィカル・ユーザー・インターフェース)ツールを使う方法,(2)CSVDEやLDIFDEなどのコマンドを使う方法,(3)VBScriptなどのスクリプトを使って,ADSI(Active Directory Service Interface)というAPIを通じて登録する方法——などがある。

 対象が少ない場合は(1)が適切だ。しかし大量の場合は(2)がよい。また(3)は他のシステムとの連携や処理の自動化などに便利である。ここでは,CSVDEコマンドを使った一括登録の方法を紹介しよう。

 CSVDEコマンド(csvde.exe)では,オブジェクトのプロパティの値をカンマ区切りで記述したCSVファイルをインポートできる。CSVファイルは,Excelなどを使用して簡単に編集できる。


△ 図をクリックすると拡大されます
図2●CSVDEコマンドで使うCSVファイルの例
 CSVDEで使用する具体的なCSVファイルは図2の通りだ。このように,各カラムは「オブジェクトの場所」「オブジェクトの種類」といった順に並んでいる。これらの情報を,Excelなどを使用し順次入力し,CSV形式で保存する。必要のないカラムは省いてもよいだろう。その後,「csvde -i -f filename.csv」のようなコマンドを実行することで,Active Directoryへオブジェクトを登録できる。

 CSVDE以外に,LDIFDEコマンド(ldifde.exe)というものもあり,これはプロパティの値を行区切りで記述したLDIF形式のファイルをインポートする。LDIF方式は,RFC2849で定義されている。また,LDIFDEの具体的な使用方法については,マイクロソフトの技術情報「LDIFDEを使用したディレクトリオブジェクトのADへのインポート/エクスポート」を参考にするとよい。実際にコマンドを用いて出力結果を見ながらテストするとよいだろう。

 CSVDEコマンドもLDIFDEコマンドも,オブジェクトの登録においてはある程度同じことができる。しかし,CSVDEコマンドではオブジェクトの設定変更ができない。アカウントをグループへ追加するなどの操作は,手動で行う必要がある。厳密にオブジェクトのプロパティを設定する必要がある場合や,オブジェクトの変更などが多岐にわたる場合は,LDIFDEをお勧めしたいが,フォーマットなどは若干難解である。

共有フォルダ/共有プリンタを公開する


△ 図をクリックすると拡大されます
図3●DFS(分散ファイル・システム)の設定

△ 図をクリックすると拡大されます
図4●共有プリンタの設定(サーバー側)
 ユーザーが増加すれば,当然これまで口頭で説明するなどして知らせていたことが伝えにくくなる。ファイル・サーバーなどのリソースを検索することも難しくなる。そのため,システム・リソースを一貫して検索できる仕組みを提供できたらどんなにいいだろう。それは,ちょっとした工夫でできるのである。

 例えば,共有フォルダの公開方法として,分散ファイル・システム(DFS)機能を利用するのは賢いやり方である(図3)。設定ではまず,DFSの画面からウィザードを呼び出し,ドメイン・ルートを選択する。それから公開したいドメインの名前を選択し,ホストされるサーバーを指定する。共有名などの名前を設定し,データが保存されるフォルダを設定する——といった流れになる。ウィザードが完了したら,分散ファイル・システムのMMCスナップインに該当の情報が作成されていることを確認し,公開された共有フォルダが,\\domain.nameといったアドレスでアクセスできることを確認する。

 続いて共有プリンタの公開方法を説明する(図4)。まずサーバー上でローカルに共有プリンタを作成し,共有プリンタのプロパティから[共有]タブを確認する。[ディレクトリに表示する]というチェック・ボックスがあるので,これをONにすればよい。共有プリンタを作成した段階ではデフォルトでONになる。

 さて,該当のプリンタ・オブジェクトはどこに作成されたかを確認しよう。[Active Directoryユーザーとコンピュータ]を開き,[表示]メニューから[コンテナとしてのユーザー,グループおよびコンピュータ]および[拡張機能]を選択してチェックを入れる(図4-2)。


△ 図をクリックすると拡大されます
図5●共有プリンタの設定(サーバー側)
すると,プリンタ・オブジェクトが表示されるようになる。ここでオブジェクトを開き,名前などを自由に変更するとよいだろう(図4-3)。また,「カラー印刷対応」「ホチキス止め対応」「両面印刷対応」のオプションを指定できる。

 共有プリンタのクライアントでの設定はプリンタの追加ウィザードで実行する(図5)。オプションで,ネットワーク・プリンタと[ディレクトリ内のプリンタを検索する]を選択し,次の画面で検索メニューを表示させる。ここでプリンタの名前を入力したり,検索したりできる。