Jaa


[AD初級編] AD と ADAM の微妙な違い ~管理ツールもちと違う : スキーマ管理ツール編~

みなさんごきげんよう。ういこです。
皆様いかがお過ごしでしょうか。先日学童クラブの迎えの帰りの息子との会話のことです。
その日、学童の催し物で、あの名作 "天空の城ラピュタ" を見たとのこと。とても面白かったそうですが、衝撃的な発言が。

ねえ、かあちゃん、ラピュタの続編って、あの王蟲がでてくるやつだよね。

Oh 息子よ、それは名作だが風の谷のナウシカだよ、それ続編じゃないですから!! ぜんぜん別のやつだよ!!と言うと、不審げな顔で「だって、女の子の顔、同じだよ?

…それをいったらラナ(未来少年コナン)とシータ(髪の毛をムスカ様に切断される前)なんてどうなんだオイ。ちゃんと顔も良く見ると違います!!
そんなわけで、今日のお題は AD 初級編続き 、"Active Directory (AD) と Active Directory Application Mode (ADAM) の微妙な違い ~えっ、管理ツールも違うのかいな!~" です。

先日午前 2 時に up した際に回答を書いていた調査で、スキーマ操作について触れる部分があったのですが、よくよく考えてみると、ADAM と AD、似たもののようでいて、スキーマ管理とか、LDAP ポリシーとかを変更したいと思っても、微妙に似てるようで違うんですよね。使っていらっしゃるかた、戸惑われると思います。
Technet にも実は画面つきで掲載されてたりするんですが、まとめてみました。

"スキーマ" ってなに?
Active Directory や ADAM で良く出てくる "スキーマ"。AD、ADAM はたとえばユーザ、コンピュータなどをオブジェクトとして管理しますが、これらのオブジェクトの定義などを含むデータみたいなものです。オブジェクトは、このスキーマに定義されているクラスを基に作成されます。クラスには複数の属性が含まれています。…わかりづらいですね。
たとえば、人事部が社員の情報を AD で管理しちゃおうと思ったとします。社員は「User」です。でも、「社員はユーザなんです」といわれても、社員を管理するのに必要な情報もありますよね。だって、ただ「ユーザです」と言われたって、その人がどこの「部署」に所属してるのかとか、「社員番号」は何番だとか、大きい会社だと、「所属している子会社の名前」とか、わからないと管理上有用ではないですよね?だから、当然その社員という「ユーザ」には、「社員番号」とか、「部署名」とか、そういう情報もあわせて関連付けられるでしょう。こうした情報が属性です。

クラス … ユーザ
属 性 … 社員番号、部署名など

さて、このスキーマ、拡張することやデータを変更することなどいろいろできるのですが、具体的にはどうすればいいのでしょう?そう思った方は、おそらく Bing あたりで検索しますよね。するとたいていは technet が引っかかると思います。そうすると、[Active Directory スキーマ] を実行して…って書いてあるかとおもいます。
あなたは管理ツールを見るでしょう。でも…そんなスナップイン、ないですよね。

[Active Directory スキーマ] (ADAM の場合はそのまま [ADAM スキーマ]) はどこから起動するのでしょう
AD の場合と、ADAM の場合でちっと違います。ちなみに、AD / ADAM いずれも、スキーマ管理を行うには、それ相応の権限を持つユーザで操作を行う必要があります。(Administrators もしくは Schema Admins など)
そして、AD だと、なんと事前に呼び出すための準備として、レジストリ登録を行う必要があるのです。

◆ AD 編
1. [スタート] ボタン、[ファイル名を指定して実行] の順にクリックし、cmd と入力して、[OK] をクリックします。
コマンド プロンプトが実行されますので、次のコマンドを入力し、Enter キーを押します。

regsvr32 schmmgmt.dll

うまくいけば、こんな風に RegisterServer は成功したといわれます。

image

2. そのまま、コマンド プロンプトを利用しちゃいましょう。mmc と入力して、Enter キーを押します。
(または、[スタート] ボタン、[ファイル名を指定して実行] の順にクリックし、mmc と入力して、[OK] をクリックします)

image

3. "コンソール 1" といった GUI が開きます。(数字は変わることがあります)
4. "コンソール 1" の [ファイル] メニュー - [スナップインの追加と削除(M)...] をクリックすると、[スナップインの追加と削除] ダイアログが表示されます。
5. [追加] ボタンを押すと、[スタンドアロン スナップインの追加] ダイアログが出てきます。ここに、先ほど regsvr32 schmmgmt.dll を登録したおかげで [Active Directory スキーマ] という項目が出てくるのであります。早速コイツをクリックし、[追加] をクリックして、[閉じる] をクリックします。

image

image

6. [OK] ボタンを押します。これで [Active Directory スキーマ] スナップインの出来上がり!

image

属性が見れたり

image

クラスの一覧が見れたりします。

image

※ 手順 1. の regsvr32 は一度やればいいです。次回呼び出したいとき以降は手順 2. の mmc 呼び出しからで大丈夫です。

※ コンソールを保存して、あとで呼び出すこともできます。

image

◆ ADAM 編
ほっとんど変わりませんが、AD と比べると regsvr32 で DLL 登録しないですむ分楽です。(要は上記 1. の手順が要らない)まずは管理コンソール (↑の "コンソール 1" とかのアレ) を呼び出して、[スナップインの追加と削除(M)...] ところまでは上記 AD 編の 2. ~ 4. まで同じです。

1. [スナップインの追加と削除] ダイアログの、[追加] ボタンを押すと、[スタンドアロン スナップインの追加] ダイアログが出てきます。ここに、[ADAM スキーマ] という項目が出てくるのであります。早速コイツをクリックし、[追加] をクリックして、[閉じる] をクリックします。

image

…あれ?クラスも属性も出てきませんね。
これは、対象の ADAM が指定されていないからです。ADAM サーバを指定してあげましょう。

image

3. 左ペインの、"ADAM スキーマ" を右クリックして、"ADAM サーバーへ接続 (C)..." を選択すると (下記赤字部分)、[ADAM サーバーへ接続] ダイアログが出てきます。
4. 接続先の ADAM サーバを指定してあげましょう。ADAM サーバ上で管理してる場合は、localhost 指定で大丈夫です。ADAM の場合、LDAP のポート 389 とかぶるのが困ることもあるので、別のポートに割り当てている場合があると思います。こうした場合は、ポート番号を指定してあげてください。(下記青字部分) 以下の例では、ポート 50000 に ADAM を割り当ててる場合です。

image

5. クラスと属性が左ペインに出てきたらこっちのもんです。

image

おまけ : ADAM 環境でついでに AD のスキーマ管理もやっちゃうかのテストしてみた。結果は使えないと思った…。
ちなみに、regsvr32 schmmgmt.dll をやると、[ADAM スキーマ] とは別に、 [Active Directory スキーマ] スナップインも使えるようになります。別の AD のスキーマ管理もやっちゃいたい(たとえば検証環境とかで)場合なんかは便利かもしれませんね。接続先に別の DC を指定すれば、ADAM スキーマの管理をしながら AD のスキーマ管理もできちゃうわけですから。 というわけで早速検証!

image

というわけで早速上記 AD 編と同じ手順で regsvr32 して、[Active Directory スキーマ] スナップインを実行してみました。

image

怒られた orz

近くのドメイン コントローラに接続してみることにしました。でも、認証に使うユーザの指定がないところがなんか不安…。幸い、この ADAM の環境はワークグループで、ローカルの administrator でデスクトップにログインしています。しかも、私のテストドメイン、全部 administrator のパスワード一緒なんですよね。
だめもとであるドメイン コントローラを指定したら

image

近くのドメイン コントローラに接続してみることにしました。でも、認証に使うユーザの指定がないところがなんか不安…。幸い、この ADAM の環境はワークグループで、ローカルの administrator でデスクトップにログインしています。しかも、私のテストドメイン、全部 administrator のパスワード一緒なんですよね。
だめもとであるドメイン コントローラを指定したら

image

なんかうまくつなげられた

これ、名前解決とか適当なんだろうなぁ…。だから、たまたまデスクトップにログオンしているユーザのアカウント名と、パスワードが同じな場合しか使えないってことなんだと思います。
たぶん administrator で、パスワードがたまたま同じ環境だったからいけちゃったんだろうなということですね。がっかり。

つまり、使えんということでしょうかにゃー。何で DC の変更をするときみたいに認証に使うユーザ指定箇所がないんだろ。

参考情報

Active Directory スキーマ スナップインをインストールする
https://technet.microsoft.com/ja-jp/library/cc732110(WS.10).aspx

ADAM スキーマ スナップインをインストールする
https://technet.microsoft.com/ja-jp/library/cc738687.aspx

ういこう@息子いわく「だって、ラピュタの文明が滅びてナウシカになったんじゃん」⇒ どちらかといえば未来少年コナン ⇒ また滅んでナウシカじゃね?と思う