[ADSI プログラミング] Active Directory - ご機嫌ななめの要因は?
こんにちは、ILM 一家のパパ(お父さん)です。
今、焼き鳥食べながら、本ブログ原稿書いています。
もうすぐホワイトデーですね、バレンタインに嬉しい思いをした男共は、お返し(3倍?)を何にしようか、悩んでいることでしょう。やっぱり、娘からもらったのも、3倍返しの対象でしょうか...悩みどころです。
うちの息子(実子) が、なぜかお母さん(ういこさん) に似た感じなのは、以前お話しましたよね。ちなみに、娘はパパ似(私似)です。ういこさんは、"お父さんと同じ顔なんて最悪~" って、将来娘に言われると、事あるごとに私を苛めます。
ういこさんもお父さん似で、以前同じ様な事をお父さんに言ったそうです。私の天使は、そんな事言わないと反論すると、あと 20年もすると、”私(ういこさん)のようになる” と切り返されました... ういこさんは素晴らしいけど、微妙な気持ちになるのは彼女の日頃の言動ゆえでしょう。
さて、今回は Active Directory / ADSI プログラミング動作で生じた問題の切り分け方法について、お話ししたいと思います。
VBScript で ADSI プログラミングによる Active Directory のアクセスを行う場合、エラーや期待した動作が得られなかった場合、皆さんはどのようなアプローチで要因を特定しますか?
ここでまず、ADSI サポートで考えるのは、以下の2点となります。
・ ADSI プログラミングに起因した問題?
・ Active Directory側 ( サーバ / ネットワーク ) に起因した問題?
この 2点をまず考えるのは、この違いによって、要因特定のアプローチが変わってくるためです。
ADSI プログラミング依存であればデバッグや動作解析を、Active Directory側ではサーバ、ネットワーク動作の監査/ログ解析、モニタリングが必要になります。
これらの切り分けを行う際に、まず、我々が検討するのは、"ADSIプログラミングで行う操作を別の手法で行った場合にも同様の事象が発生するか? " といった事です。
我々、ADSIサポートが、この切り分けに使うツールをご紹介しましょう。
<LDP.EXE ツール >
LDAP ブラウザツールです。LDAP接続、認証、参照、編集が一通り行えます。
実行される LDAP プロトコル操作、エラー内容をブラウジング可能です。
LDP.EXE は Windows サーバの Support Tool に含まれています。
(Support Toolをインストールすれば、クライアント OS でも使用可能です)
参考資料 : Using Ldp.exe to Find Data in the Active Directory
https://support.microsoft.com/kb/224543
<ADSI Edit スナップイン >
ADSI により、Active Directory の参照、編集を行うツールです。
LDP.EXE 同様、ツール上から、Active Directory にアクセス可能です。
LDP.EXE と違い、LDAP プロトコル操作、エラー内容は確認できません。
ADSI Edit スナップインは LDP.EXE 同様、Windows サーバのサポートツールに含まれており、MMCを介して使用します。
参考資料: ADSI Edit を使用してカスタム検索の LDAP クエリを編集する方法
https://support.microsoft.com/kb/312299/ja
<DSQuery コマンド (DSAdd 、 DSMod 、 DSRm 、 DSGet)>
コマンドライン(コマンドプロンプト上)から、Active Directory オブジェクトの一通りの操作が行えます。
これらコマンドは、Windows サーバに含まれる、Active Directory 管理ツールがインストールされている環境で使用可能です。
参考資料: Windows Server 2003 でディレクトリ サービスのコマンド ライン ツールを使用して Active Directory のオブジェクトを管理する方法
https://support.microsoft.com/kb/322684/ja
<DSACLS コマンド >
Active Directoryオブジェクトに設定されている、アクセス権限(ACL/ACE)を参照/設定することが可能です。
DSACLS コマンド は Windows サーバの Support Tool に含まれています。
参考資料: Windows Server 2003 および Windows 2000 で Dsacls.exe を使用する方法
https://support.microsoft.com/kb/281146/ja
これらツールでも、ADSIプログラミングと同事象が確認できる場合、ADSI プログラミング側ではなく、Active Directory側(サーバ/ネットワーク)を要因として事象が発生している可能性が高いと言えます。
また、ネットワーク関連動作を見るにあたり、次のようなものも使用します。
(これらは、クライアントOS を含め標準で使用可能です)
<Ping 、 Tracert コマンド >
接続対象のホストへの到達可否、経路を確認します。
<Nslookup コマンド >
DNSサーバ上の ホストレコード、LDAP SRVレコードの登録状況を確認します。
<NetStat コマンド >
ネットワーク接続状況、使用サービス/ポートを確認します
ADSI プログラミングでは、プログラムの動作異常が必ずしもプログラミング実装が悪いとは言えないため、皆様、苦労されていることと思います。よろしければ、これらツールを使用してみては如何でしょうか。
またの機会に、これらツール個々の使用方法について、ブログ上で紹介できればと考えています。
お母さん(ういこさん)と娘のホワイトデーの貢物に悩む
~ お父さんより ~