Active Directory 是否可以防止不在域中的客户端进行修改?
我有一个方法AddUserToGroup将用户添加到活动目录组。
我正在未连接到包含用户和组的域控制器的计算机上调用该方法。
调用 group.Save() 时,会引发 PrimaryOperationException:
“无法检索有关域的信息 (1355)。”
AD 是否会阻止未在域中注册的客户端进行修改?我可以愉快地从同一个客户端查询域(例如,返回组中的用户)。
将用户添加到组的方法:
public static void AddUserToGroup(string userId,
string groupName)
{
try
{
using (var pc = GetPrincipalContextFromConfig())
{
var group = GroupPrincipal.FindByIdentity(pc, groupName);
try
{
group.Members.Add(pc, IdentityType.Guid, userId);
group.Save();
}
catch (PrincipalExistsException e)
{
//...
}
}
}
catch (DirectoryServicesCOMException e)
{
//...
}
}
I have a method AddUserToGroup to add a user to an active directory group.
I am invoking the method on a machine not attached to the domain controller containing the user and group.
When group.Save() is invoked an PrincipalOperationException is thrown:
"Information about the domain could not be retrieved (1355)."
Does AD prevent modification from clients not registered with the domain? I can query the domain happily (for example, return the users in a group) from the same client.
The method to add a user to a group:
public static void AddUserToGroup(string userId,
string groupName)
{
try
{
using (var pc = GetPrincipalContextFromConfig())
{
var group = GroupPrincipal.FindByIdentity(pc, groupName);
try
{
group.Members.Add(pc, IdentityType.Guid, userId);
group.Save();
}
catch (PrincipalExistsException e)
{
//...
}
}
}
catch (DirectoryServicesCOMException e)
{
//...
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无论您的应用程序在什么 ID 下运行,都需要具有对 AD 的“写”访问权限。几乎任何 ID 都可以查询 AD,但只有明确授予权限的 ID 才能对其进行写入。
Whatever ID your application is running under, needs to have "write" access to AD. Pretty much any ID can query AD but only ID's explicitly granted the privilege can write to it.