【发布时间】:2009-10-23 13:58:17
【问题描述】:
这应该很容易,但由于某种原因似乎并非如此。我想问 AD 当前机器是否是特定组的成员。直接会员很好。
组仅包含 8 台 PC,并且极不可能超过 30 台。
感谢 C# 代码示例!
【问题讨论】:
标签: c# .net active-directory ldap
这应该很容易,但由于某种原因似乎并非如此。我想问 AD 当前机器是否是特定组的成员。直接会员很好。
组仅包含 8 台 PC,并且极不可能超过 30 台。
感谢 C# 代码示例!
【问题讨论】:
标签: c# .net active-directory ldap
这是一个使用 System.DirectoryServices 命名空间的示例方法:
public bool BelongsToGroup(string computerName, string groupName, string domain)
{
PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, domain);
ComputerPrincipal computer = ComputerPrincipal.FindByIdentity(domainContext, computerName);
foreach (Principal result in computer.GetGroups())
{
if (result.Name == groupName)
{
return true;
}
}
return false;
}
所以你可以这样称呼它:
string computerName = Environment.MachineName;
string groupName = "Group Name";
string domainName = "Domain Name";
bool test = BelongsToGroup(computerName, groupName, domainName);
【讨论】: