У меня плохой день в каталоге. :)Создание локальных пользователей
Может ли кто-нибудь сказать мне, что в этом плохого?
groupName = "Monkey";
...
using (DirectoryEntry directoryEntryObject = new DirectoryEntry("WinNT://" + Environment.MachineName, "", "", AuthenticationTypes.Secure))
{
using (DirectoryEntry group = directoryEntryObject.Children.Add("CN=" + groupName.Trim(), "group"))
{
group.Properties["sAMAccountName"].Value = groupName;
group.CommitChanges();
}
}
То, что я пытаюсь сделать, это создать локальную учетную запись. Когда я пытаюсь этот код, как есть, он выходит из строя, когда я пытаюсь установить SamAccountName свойство:
System.Runtime.InteropServices.COMException occurred
Message="The directory property cannot be found in the cache.\r\n"
Source="Active Directory"
ErrorCode=-2147463153
StackTrace:
at System.DirectoryServices.Interop.UnsafeNativeMethods.IAds.PutEx(Int32 lnControlCode, String bstrName, Object vProp)
InnerException:
Если я закомментировать эту строку, она падает на коммит следующее:
System.Runtime.InteropServices.COMException occurred
Message="The specified username is invalid. (Exception from HRESULT: 0x8007089A)"
Source="System.DirectoryServices"
ErrorCode=-2147022694
StackTrace:
at System.DirectoryServices.Interop.UnsafeNativeMethods.IAds.SetInfo()
InnerException:
Я не уверен, что думать об источнике. Я нахожусь в Vista в домене W2003, но я пытаюсь создать локальную группу, а не активную группу каталогов.
Любые идеи? Я, наверное, пропустил что-то очевидное. Я могу создавать пользователей с помощью метода GroupPricipal.Save, поэтому это не проблема.