更改共享所有者 C#

Change share owner 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);
}

执行时一切似乎没问题,但是,当我查看文件夹的安全>高级时,所有者是本地管理员...

确定更改此文件夹的所有者的方法是什么?

编辑:我使用的是 "File" 而不是 "Directory" 这就是它不起作用的原因。

请尝试以下代码。我用这个 link C# - How to use DirectorySecurity.SetOwner() ? I'm having troubles 创建了它

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);
}