我正在我的应用中创建Active Directory组。我建立了安全和分发组。这些组将很好地创建,但在Active Directory用户和计算机中显示大约需要10-15分钟。
我是否可以在C#中执行某种强制同步以更快地实现此目的?或者也许我可以在目录中更改某些设置以更改此行为?
示例代码
DirectoryEntry ou1= topLevel.Children.Find("OU=ou1");
DirectoryEntry secGroups = ou1.Children.Find("OU=Security Groups");
DirectoryEntry newGroup = secGroups.Children.Add("CN=" + name + "", "group");
newGroup.CommitChanges();
GroupPrincipal createdGroup = GroupPrincipal.FindByIdentity(this._context, name);
createdGroup.SamAccountName = name;
createdGroup.DisplayName = name;
createdGroup.GroupScope = GroupScope.Universal;
createdGroup.Save();
if (members.Any())
{
foreach (var item in members)
{
createdGroup.Members.Add(this._context, IdentityType.SamAccountName, item);
}
createdGroup.Save();
}
使用ASP.NET MVC,C#,System.DirectoryServices.AccountManagement,System.DirectoryServices.ActiveDirectory。
答案 0 :(得分:2)
最可能的答案是,传播到网络上的所有域控制器需要时间。您可以通过应用程序更新的ADUC连接到不同的DC。
答案 1 :(得分:1)
在这种情况下,如果您有多个域控制器进行复制,可能会有所帮助,即针对您对AD服务器进行的每次调用来定位特定的DC。
所以不是“LDAP://mydomain.com”而是“LDAP://myDC.mydomain.com”