开发者

Create shared folder accessible from domain with C#

开发者 https://www.devze.com 2022-12-12 01:19 出处:网络
I\'m doing a Deployment Project in VS2008, and at the end of the installation flow I need to create a shared folder with Full Control permissions to Everyone on the local machine accessible from a com

I'm doing a Deployment Project in VS2008, and at the end of the installation flow I need to create a shared folder with Full Control permissions to Everyone on the local machine accessible from a company domain. I succeed开发者_JAVA技巧ed to create the shared folder, but Everyone has read access. Any help on how to do this would be appreciated.

Thank you, Valeriu


I assume you're using the ManagementClass to create a shared folder.

Setting the Access field of your ManagementBaseObject should give full control to everyone:

ManagementClass mc = new ManagementClass("win32_share");
ManagementBaseObject inParams = mc.GetMethodParameters("Create");
inParams["Description"] = "Shared Folder";
// ... whathever ...
inParams["Access"] = null; // <-- should give full control access to everyone

If the above doesn't work you might wanna try explicitly setting the security level with smt like the following:

    public static void AddDirectorySecurity(string FileName, string Account, FileSystemRights Rights, AccessControlType ControlType)
    {
        DirectoryInfo dInfo = new DirectoryInfo(FileName);

        DirectorySecurity dSecurity = dInfo.GetAccessControl();

        // Add the FileSystemAccessRule to the security settings.  
        dSecurity.AddAccessRule(new FileSystemAccessRule(Account,
                                                         Rights,
                                                         ControlType));
        // Set the new access settings. 
        dInfo.SetAccessControl(dSecurity);
    } 

If none of the above helps, then I'd suggest you post your code.

0

精彩评论

暂无评论...
验证码 换一张
取 消