1. ホーム
  2. active-directory

[解決済み] サーバーがリクエストを処理しようとしない - Active Directory - C#によるユーザーの追加

2022-03-04 07:58:41

質問

の例を使いました。 このページ を実行すると、「"Server is unwilling to process the request"」というメッセージとともに例外が発生します。

dirEntry.Properties["member"].Add(userDn);

解決方法は?

この問題は、解決するのにとても時間がかかりました。まず、エラーメッセージがふざけているように見えます。第二に、それ以上のものは何もなく、ただそのメッセージがあるだけです。

ともあれ、なんとか以下の方法で解決しました。

  1. を確認すること userDn にはパス全体が含まれます(例. "LDAP://server-address/CN=" + userDn + ",OU=optional,DC=your-domain,DC=com" . これは実際には 非常に重要 フルパスで入力しないと HRESULT: 0x80005000 の例外が発生しました。 .

  2. 置き換え dirEntry.Properties["member"].Add(userDn); によって entry.Invoke("Add", new object[] { userDn });

そして、あるユーザーを削除しようとしたところ、予想通り entry.Invoke("Remove", new object[] { userDn }); が動作します。しかし、この悪魔のようなADが機能するのは 小文字の "remove" ということで entry.Invoke("remove", new object[] { userDn }); はうまくいきました。