Я недавно начал изучать C# для проекта на работе, который должен написать обновленный инструмент создания пользователя, чтобы заменить наш старый инструмент vbscript. До сих пор я заполнил все стороны Active Directory, но у меня возникают проблемы с папкой ACL при создании папки профиля.C# Папка ACL не применяется
Я успешно выполнил функцию удаления всех списков ACL и начал с нуля, но моя функция добавления ACL в папку не работает. Вот функция:
public void CreateFolderACL(string FolderPath, string Account, FileSystemRights Rights, AccessControlType ControlType)
{
try
{
DirectorySecurity fs = Directory.GetAccessControl(FolderPath);
AuthorizationRuleCollection rules = fs.GetAccessRules(true, true, typeof(System.Security.Principal.NTAccount));
fs.AddAccessRule(new FileSystemAccessRule(@"domain\" + Account, Rights, ControlType));
Directory.SetAccessControl(FolderPath, fs);
}
catch(Exception E)
{
Console.WriteLine(E);
}
}
Когда я труба в чем-то вроде
CreateFolderACL(userData["ProfilePath"] + ".v2", "Domain Admins", FileSystemRights.FullControl, AccessControlType.Allow);
Это создает запись в папке, но не имеет прав установлены (см скриншот ниже), и он не установлен любые другие разрешения, которые я пытаюсь применить вместе с админами домена.
http://i.stack.imgur.com/Iul1i.png
Я новичок в этом, и это моя первая реальная программа, но я ударил загвоздка и не могу понять, что происходит.
Специфическая ошибка: System.Security.Principal.IdentityNotMappedException: Some or all identity references could not be translated.