尝试保存通讯组时出现“访问被拒绝”错误
本文关键字:访问 拒绝 访问被拒绝 错误 保存 | 更新日期: 2023-09-27 18:31:13
运行下面显示的代码时,我收到一个错误,指出:
类型
为"系统.未经授权访问异常"的未处理异常发生在 系统.目录服务.dll. 其它信息:访问被拒绝。
它发生在这一行:Group.Save();
我已经在与Active Directory相关的其他脚本中使用了用户名和密码,因此它确实可以充分访问我需要它执行的任何操作。虽然,我以前没有尝试过与System.DirectoryServices.AccountManagement
库有关。
我正在使用在管理员模式下运行的Visual Studio 2013,因此命令提示符未在其中运行应该没有问题。
如果有人能告诉我为什么在保存时不使用凭据,将不胜感激。
try
{
using (PrincipalContext PC = new PrincipalContext(ContextType.Domain, "DOMAIN", "USERNAME", "PASSWORD"))
{
GroupPrincipal Group = GroupPrincipal.FindByIdentity(PC, "GROUPNAME");
DBAccessManager DBAccess = new DBAccessManager();
SqlConnection ConnString = new SqlConnection();
ConnString.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["SQLCONNECTION"].ToString();
List<Employee> SQLEmployees = DBAccess.ReadUserInformation(ConnString.ConnectionString.ToString());
foreach (Employee Emp in SQLEmployees)
{
UserPrincipal PrinicipalUser = UserPrincipal.FindByIdentity(PC, Emp.USERNAME);
UserPrincipal ADUser = UserPrincipal.FindByIdentity(PC, Emp.USERNAME);
if (PrinicipalUser.IsMemberOf(Group) && String.IsNullOrEmpty(Emp.SAPLOGIN))
{
Group.Members.Remove(ADUser);
}
else if (!PrinicipalUser.IsMemberOf(Group) && !String.IsNullOrEmpty(Emp.SAPLOGIN))
{
Group.Members.Add(ADUser);
}
}
Group.Save();
}
}
catch (DirectoryServicesCOMException E)
{
Console.WriteLine("Exception: " + E.Message);
}
问题原来是通讯组列表的权限问题