私はActive Directoryに対していくつかのc#をコーディングしていますが、これを無駄に機能させるために際限なく試みました。次のコードは機能しますが、それに続くコードは機能しません。
以下のコードは、"WinNT://" + Environment.MachineName + ",Computer" を使用して接続を確立し、正常に動作します。
DirectoryEntry localMachine = new DirectoryEntry
("WinNT://" + Environment.MachineName + ",Computer");
DirectoryEntry admGroup = localMachine.Children.Find
("Administrators", "group");
object members = admGroup.Invoke("members", null);
foreach (object groupMember in (IEnumerable)members)
{
DirectoryEntry member = new DirectoryEntry(groupMember);
output.RenderBeginTag("p");
output.Write(member.Name.ToString());
output.RenderBeginTag("p");
}
base.Render(output);
私は今、行を変更しようとしています:
"WinNT://" + Environment.MachineName + ",Computer"
に
"LDAP://MyDomainControllerName"
しかし、値「MyDomainControllerName」の代わりにどの値を試しても機能しないようです。
「MyDomainControllerName」の値を取得するために、MyComputer を右クリックし、他の場所で提案されているようにコンピューター名の値をコピーしましたが、これは機能しませんでした。
上記の LDAP://RootDSE オプションを使用しようとすると、次のエラーが発生します。
パス LDAP://RootDSE にある Active Directory オブジェクトはコンテナではありません
あなたが言及したように、これはメンバーメソッドの問題ですか?