C# 如何在c中检测Active Directory路径#
我一直在互联网上搜索,学习如何与Active Directory交互。我找到了下面的一段代码,但我想知道C# 如何在c中检测Active Directory路径#,c#,active-directory,C#,Active Directory,我一直在互联网上搜索,学习如何与Active Directory交互。我找到了下面的一段代码,但我想知道ActiveDirectoryPath必须是什么 欢迎对代码进行任何简要说明 DirectoryEntry entry = new DirectoryEntry(ActiveDirectoryPath); DirectorySearcher search = new DirectorySearcher(entry); search.Filter = String.Format("(&
ActiveDirectoryPath
必须是什么
欢迎对代码进行任何简要说明
DirectoryEntry entry = new DirectoryEntry(ActiveDirectoryPath);
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = String.Format("(&(objectCategory=group)(cn={0}))", activeDirectoryGroup);
search.PropertiesToLoad.Add("distinguishedName");
SearchResult searchResult = search.FindOne();
if (searchResult == null)
return new HashSet<User>();
DirectoryEntry group = searchResult.GetDirectoryEntry();
Hashtable searchedGroups = new Hashtable();
return GetUsersInGroup(group.Properties["distinguishedName"].Value.ToString(), searchedGroups, path);
DirectoryEntry=新的DirectoryEntry(ActiveDirectoryPath);
DirectorySearcher search=新的DirectorySearcher(条目);
search.Filter=String.Format((&(objectCategory=group)(cn={0})),activeDirectoryGroup);
search.PropertiesToLoad.Add(“DiscrimitedName”);
SearchResult SearchResult=search.FindOne();
if(searchResult==null)
返回新的HashSet();
DirectoryEntry组=searchResult.GetDirectoryEntry();
Hashtable searchedGroups=新Hashtable();
返回GetUsersInGroup(group.Properties[“DifferentizedName”].Value.ToString(),searchedGroups,path);
不完全清楚检测Active Directory路径是什么意思-实际上没有“当前”广告路径或任何东西;在您的文件系统中没有类似的“当前目录”
您可以通过检查LDAP://RootDSE
条目并在其中查找defaultNamingContext
来确定系统默认路径:
using (DirectoryEntry deRoot = new DirectoryEntry("LDAP://RootDSE"))
{
if (deRoot.Properties["defaultNamingContext"] != null)
{
string defaultNamingContext =
deRoot.Properties["defaultNamingContext"].Value.ToString();
}
}
或者,您可以从Active Directory检索当前登录的用户,并检查其LDAP路径(此代码在.NET 3.5及更新版本上使用新的System.DirectoryServices.AccountManagement
命名空间):
这将返回用户的完整LDAP路径,其中包含在其中创建用户的“容器”-类似于:
LDAP://CN=User Name,OU=SomeOU,DC=YourCompany,DC=Com
这里的
OU=SomeOU,DC=YourCompany,DC=Com
部分是该用户所在的Active Directory中的“路径”。此代码对终端访问服务器有效吗?如果是,我该怎么做?
LDAP://CN=User Name,OU=SomeOU,DC=YourCompany,DC=Com