[英]Change share owner C#
I am writing a program which create some share folders on a 2012 server. 我正在编写一个在2012服务器上创建一些共享文件夹的程序。 I have a service account :
我有一个服务帐户:
NTAccount serviceAccount = new NTAccount("myDomain", "SA_LiPAM");
This initialization work well. 此初始化工作良好。
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);
}
On execution evrything seems ok, but, when I look on Security>advanced of the folder the owner is the localadmin... 在执行时,evrything似乎可以,但是,当我查看“安全性”>“高级”文件夹时,所有者是本地管理员...
Which way to definetly change the owner of this folder ? 哪种方法可以明确更改此文件夹的所有者?
Edit : I was using "File" instead of "Directory" thats why it doesn't work. 编辑:我使用“文件”而不是“目录”,这就是为什么它不起作用。
Please try the following code. 请尝试以下代码。 I have used this link C# - How to use DirectorySecurity.SetOwner() ?
我已使用此链接C#-如何使用DirectorySecurity.SetOwner()? I'm having troubles to create it
我在创建它时遇到了麻烦
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);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.