- - PR -
ADSI利用によるドメインからのユーザ削除
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-04-08 16:40
よろしくお願いいたします。
ADSIを使用してのアカウント管理の勉強をしております。 ASPを利用してブラウザからアカウントの削除を行おうと試み、下記を実行したのですが 「HTTP500 内部サーバーエラー」となり削除できませんでした。Users配下にtest userは 存在してます。 <% Set rootDSE = GetObject("LDAP://RootDSE") strDomain = rootDSE.Get("defaultNamingContext") Set objComputer = GetObject("LDAP://CN=Users," & strDomain ) Call objComputer.Delete( "User", "test user" ) %> 環境 OS:WindowsServer2003 StandardEdition SP2(AD,IIS) ・IISをインストールしており、同マシン上に仮想ディレクトリを作成しASPを許可していいます。 ・同仮想ディレクトリ内に配置した他のASP(ADSIと関係ない単純なもの)は動作します。 ・同マシン上のブラウザから実行しています Web上で参考にしたいくつかのソースとほとんど同じものですので、IISの設定や、その他設定 だと思いますが、原因はわかりません。アドバイスを頂けないでしょうか。 |
|
投稿日時: 2008-04-08 18:43
そもそもスクリプト単体としては正しく動作するのですか?
Call objComputer.Delete( "User", "CN=test user" ) じゃないですか・・? |
|
投稿日時: 2008-04-08 18:54
その code どの user がどのように logon して、どこの resource を扱うか考えましょう。
_________________ |
|
投稿日時: 2008-04-09 14:28
回答ありがとうございます。
>IKEさん >Call objComputer.Delete( "User", "CN=test user" ) じゃないですか・・? 失礼しました。その通りです。スクリプト単体として実行した時は、 下記のエラーとなってしまいました。 エラー:サーバーにそのようなオブジェクトはありません コード:80072030 CN=○○○○ ←ここをユーザログオン名に変更してみましたが、同様のエラーとなりました。 >ちゃっぴさん >user がどのように logon して、どこの resource を扱うか test userがtestというログオンIDで、test.localドメインにログオンするのですが、 扱うresorceという点がよくわかっておりません、それと削除をどのように結びつけたらよいのでしょうか。 よろしくお願いいたします。 |
|
投稿日時: 2008-04-09 20:51
指定するのは、ログオン名ではなくLDAP識別名です。
ActiveDirectoryユーザとコンピュータで、表示−拡張機能にONにして 対象ユーザのオブジェクトの正規名を確認して下さい。 これを正しく指定できていないのではないでしょうか? |
|
投稿日時: 2008-04-10 16:07
>IKEさん
ご指摘ありがとうございました。教えていただいた方法で正規名を確認しましたが、 正規名も"test user"となっていました。そして、本当に申し訳ないのですが、問題は 別にありました。 スクリプト実行後の削除確認の際に、別のOU等を選択してからUsersを選択していましたが、 これでは削除結果が反映されず、F5キー等で更新することで削除を確認できました。後ろに 数字を一文字つけたようなユーザ名を手動で大量に追加したり、削除しており気づきません でした。本当にすみません; 下記のスクリプトで削除処理ができました。 Set rootDSE = GetObject("LDAP://RootDSE") strDomain = rootDSE.Get("defaultNamingContext") Set objComputer = GetObject("LDAP://CN=Users," & strDomain ) Call objComputer.Delete( "User", "CN=test user" ) しかし、これを"<%"でくくりASPとしてブラウザで実行したところ、 「HTTP500 内部サーバーエラー」となってしまいました。何か問題となりそうな部分等 ございましたら、お教え頂けないでしょうか。よろしくお願いします。 |
|
投稿日時: 2008-04-10 18:15
スクリプト単体で動くなら、そこから先はちゃっぴさんが指摘している所なのだと思います。
ASPはよく解らないのですが、実行ユーザが変わってくるんじゃないですか? ・実行ユーザの所属ドメインは・・? ・実行ユーザにADユーザの削除権限があるか? |
|
投稿日時: 2008-04-10 19:42
>IKEさん
>実行ユーザにADユーザの削除権限があるか? 実行ユーザがadministratorのため権限は気にしていなかったのですが、ブラウザを通すと何か影響するのかと、IISの仮想ディレクトリの認証方法の設定の匿名アクセスをadministratorに変更してみたところ、同一マシン上、ドメイン上の別のマシンからも削除ができました。 ただ、これだとまずいと思いますので文字列でID、パスを渡す方法、またIISの設定等を調べようと思います。 大変有難うございました。 |