c#使用广告服务帐户授予用户访问网络文件夹的权限

c#使用广告服务帐户授予用户访问网络文件夹的权限,c#,active-directory,C#,Active Directory,我想使用active directory管理员帐户授予对网络共享文件夹的完全访问权/撤消访问权(我也可以将其作为映射驱动器使用) 如何将File.GetAccessControl、.RemoveAccessRule和.AddAccessRule设置为active directory管理员服务帐户,同时又是网络共享文件夹的管理员?以下是我用来执行此操作的一个片段 private void EditAccess(List<string> userlist, string fold

我想使用active directory管理员帐户授予对网络共享文件夹的完全访问权/撤消访问权(我也可以将其作为映射驱动器使用)


如何将File.GetAccessControl、.RemoveAccessRule和.AddAccessRule设置为active directory管理员服务帐户,同时又是网络共享文件夹的管理员?

以下是我用来执行此操作的一个片段

    private void EditAccess(List<string> userlist, string folder)
    {

        foreach (string user in userlist)
        {

            var AccessRule = new FileSystemAccessRule(user, FileSystemRights.FullControl,
                InheritanceFlags.None,
                PropagationFlags.NoPropagateInherit,
                AccessControlType.Allow);

            DirectoryInfo rootFolder = new DirectoryInfo(folder);
            DirectorySecurity rootSec = rootFolder.GetAccessControl(AccessControlSections.Access);

            bool Result;

            rootSec.ModifyAccessRule(AccessControlModification.Set, AccessRule, out Result);

            InheritanceFlags iFlags = InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit;
            AccessRule = new FileSystemAccessRule(user, FileSystemRights.FullControl, iFlags, PropagationFlags.InheritOnly, AccessControlType.Allow);
            rootSec.ModifyAccessRule(AccessControlModification.Add, AccessRule, out Result);

            rootFolder.SetAccessControl(rootSec);


        }
    }
private void EditAccess(列表用户列表,字符串文件夹)
{
foreach(用户列表中的字符串用户)
{
var AccessRule=new FileSystemAccessRule(用户,FileSystemRights.FullControl,
继承标志。无,
PropagationFlags.NoPropagateInherit,
AccessControlType.Allow);
DirectoryInfo根文件夹=新的DirectoryInfo(文件夹);
DirectorySecurity rootSec=rootFolder.GetAccessControl(AccessControlSections.Access);
布尔结果;
rootSec.ModifyAccessRule(AccessControlModification.Set、AccessRule、out结果);
InheritanceFlags iFlags=InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit;
AccessRule=new FileSystemAccessRule(用户、FileSystemRights.FullControl、iFlags、PropagationFlags.InheritOnly、AccessControlType.Allow);
rootSec.ModifyAccessRule(AccessControlModification.Add、AccessRule、out结果);
SetAccessControl(rootSec);
}
}

这将应用权限作为登录用户,我希望使用服务帐户凭据执行相同的操作。您不能显式设置正在执行特定于广告的操作的用户,但您可以使用此处概述的模拟方法之一执行此操作,此方法适用于active directory中的组?