我正在使用 System.DirectoryServices.AccountManagement 命名空间来查找域用户及其相应的 AD 安全组。这很好用。
我还使用该命名空间来查询远程服务器上的本地安全组。我能够找到一个安全组,然后列出该组的用户没问题。
我遇到的问题是显示 DOMAIN 用户所属的 LOCAL 组:
PrincipalContext localmachine = new PrincipalContext(ContextType.Machine, "ServerName");
PrincipalContext domain = new PrincipalContext(ContextType.Domain);
// find the user using the domain context (Works fine)
UserPrincipal user = UserPrincipal.FindByIdentity(domain, userName);
// if found - grab its groups
if (user != null)
{
// The get groups method is the only method that would accept a new context
PrincipalSearchResult<Principal> groups = user.GetGroups(localMachine);
// no groups are returned .... removed rest of code
}
我正在尝试使用传入 localMachine PrincipalContext 的 GetGroups 方法,但没有返回任何组。
用户仅存在于域 AD 中。localMachine 的本地用户中没有此用户的条目。域用户被添加到本地安全组。
有任何想法吗?我希望能够提取此域用户所属的所有本地组的列表,然后查看该列表中是否存在某个组。现在唯一可行的选择是搜索系统上的某些组,并查看域用户是否属于该组。