Active Directory 组在创建后不能立即使用
Active Directory groups not immediately available after creation
我正在我的应用程序中创建 Active Directory 组。我制作安全和分发组。这些组将被创建得很好,但大约需要 10-15 分钟才能显示在 Active Directory 用户和计算机中。
我可以在 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。
最有可能的答案是传播到您网络上的所有域控制器需要时间。您可能会通过 ADUC 连接到与您的应用程序更新的不同的 DC。
在这种情况下,如果您有多个域控制器进行复制,可能会有所帮助的是为您对 AD 服务器进行的每次调用定位一个特定的 DC。
所以 "LDAP://mydomain.com" 变成了 "LDAP://myDC.mydomain.com"
我正在我的应用程序中创建 Active Directory 组。我制作安全和分发组。这些组将被创建得很好,但大约需要 10-15 分钟才能显示在 Active Directory 用户和计算机中。
我可以在 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。
最有可能的答案是传播到您网络上的所有域控制器需要时间。您可能会通过 ADUC 连接到与您的应用程序更新的不同的 DC。
在这种情况下,如果您有多个域控制器进行复制,可能会有所帮助的是为您对 AD 服务器进行的每次调用定位一个特定的 DC。
所以 "LDAP://mydomain.com" 变成了 "LDAP://myDC.mydomain.com"