2

System.DirectoryServices.AccountManagement API を使用して、Active Directory で新しいユーザーを作成したり、アカウントを無効にしたりしています。新しいユーザーを作成してそのパスワードを設定しようとすると、m/c が「The RPC server is available.」というメッセージで例外をスローします。(HRESULT からの例外: 0x800706BA) . 次のスニペットは、ユーザーの作成と永続化に使用されます。

UserPrincipal user = new UserPrincipal(ctx);
user.GivenName = "Andrew";
user.Surname = "Green";
user.EmailAddress = "agreeen@gmail.com";
user.SamAccountName = "agreen";
user.Save();
user.SetPassword("Pqw^&12");
user.Save();

これを実行すると、コードがパスワードを設定しようとするとすぐに例外がスローされます。ネットで少し調べたところ、以下のことを試してみました。

  • acct agreenはパスワードなしで作成されるため、権限や接続の問題はありません。
  • AD マシンの Windows ファイアウォールの例外としてWindows Management Instrumentation (WMI)を追加しました
  • 次のサービスRPC エンドポイント マッパー、リモート プロシージャ コール、リモート レジストリが AD マシンで実行されていることを確認しました。
  • AD マシンへの接続に使用されるアカウントで、[リモート コントロールを有効にする] がオンになっていることを確認します。
  • ポート 135 が AD マシンでブロックされていないことを確認しました

私が持っているセットアップは、Microsoft Windows 7 Professional を実行しているボックスb1があり、Microsoft Windows Server 2008 R2 エンタープライズを実行しているボックスb2に接続しようとしています。c# コードは b1 の .Net4.5 フレームワークで実行され、b2 でアカウントを作成しようとしています。

同じボックス(つまりADのボックス)からコードを実行しようとすると、ipアドレスをlocalhostとして指定するとパスワード付きのアカウントを正常に作成できましたが、m/c ipアドレスとして指定すると、同じ例外で失敗しました

私が間違っていることを教えてください。

ありがとう

ヴィシュヴァ

4

0 に答える 0