我正在创建一个程序,用于在特定计算机上的本地组中添加和删除域用户。
我成功完成了将用户添加到组的部分,但是在删除时我收到了这个错误。
抛出异常:System.DirectoryServices.AccountManagement.dll 中的“System.DirectoryServices.AccountManagement.NoMatchingPrincipalException” System.DirectoryServices.AccountManagement.dll 中发生“System.DirectoryServices.AccountManagement.NoMatchingPrincipalException”类型的未处理异常附加信息:没有安全对象匹配找到的指定参数
这是我的函数和变量可以包含的示例
string username = "USER123"
string localGroupName = "Administrators"
string computername = "computer1"
using (PrincipalContext pc = new PrincipalContext(ContextType.Machine,computername))
{
GroupPrincipal group = GroupPrincipal.FindByIdentity(pc, localGroupName);
group.Members.Remove(pc, IdentityType.Name, username);
group.Save();
}
我也尝试更改 IdentityType,但得到了相同的结果
group.Members.Remove(pc, IdentityType.SamAccountName, username);
我可以使用 foreach 打印任何组的所有成员,因此我认为“GroupPrincipal”之前的所有内容都是正确的。
好像我输入了错误的用户名,但用户名是正确的(我正在使用它登录到域中的计算机)并且使用下面的公式也没有帮助。
域名\用户名
我也找到了这个线程,但对我来说,它看起来几乎是一样的,但写法不同。
非常感谢任何帮助或想法!抱歉,如果我遗漏了一些明显的东西,但我只使用了一段时间 C#。