更改共享所有者 C#



我正在编写一个程序,该程序在2012服务器上创建一些共享文件夹。 我有一个服务帐户:

NTAccount serviceAccount = new NTAccount("myDomain", "SA_LiPAM");

此初始化效果很好。

if (folder.IndexOf('\') == 0)
{
Directory.CreateDirectory("\\" + serveurName + "\Test-Projects\" + pPrjName.Text + folder);// Creation
fs = Directory.GetAccessControl("\\" + serveurName + "\Test-Projects\" + pPrjName.Text + folder);
fs.SetOwner(serviceAccount);// Set owner
Directory.SetAccessControl("\\" + serveurName + "\Test-Projects\" + pPrjName.Text + folde, fs);
}

在执行时,evrything似乎还可以,但是,当我查看文件夹的安全>高级时,所有者是本地管理员...

哪种方法可以肯定地更改此文件夹的所有者?

编辑:我使用的是"文件"而不是"目录",这就是它不起作用的原因。

请尝试以下代码。我使用了这个链接 C# - 如何使用 DirectorySecurity.SetOwner(( ?我在创建它时遇到问题

if (folder.IndexOf('\') == 0)
{
string dir = "\\" + serveurName + "\Test-Projects\" + pPrjName.Text + folder;
Directory.CreateDirectory(dir);                    
DirectoryInfo di = new DirectoryInfo(dir);
DirectorySecurity ds = di.GetAccessControl();                    
ds.SetOwner(serviceAccount);
FileSystemAccessRule permissions = new FileSystemAccessRule(serviceAccount, FileSystemRights.FullControl, AccessControlType.Allow);
ds.AddAccessRule(permissions);
di.SetAccessControl(ds);
}

最新更新