ManagementBaseObjectDescriptor=null;ManagementObjectCollectionUserSearch=newManagementObjectSearcher("Select * From Win32_LogicalFileSecuritySetting Where Path='"+FromPath+"'").Get();try{foreach(ManagementObjectUserObjectinUserSearch){ManagementBaseObjectinParams1=UserObject.GetMethodParameters("GetSecurityDescriptor");ManagementBaseObjectoutParams1=UserObject.InvokeMethod("GetSecurityDescriptor",inParams1,null);Descriptor=((ManagementBaseObject)(outParams1.Properties["Descriptor"].Value));}}catch(Exceptionse){Trace.WriteLine(se.Message);}ManagementObjectShare=newManagementObject("Win32_Directory='"+ToPath+"'");ManagementBaseObjectinParams=Share.GetMethodParameters("ChangeSecurityPermissions");inParams["Option"]=4;inParams["SecurityDescriptor"]=Descriptor;ManagementBaseObjectoutParams=Share.InvokeMethod("ChangeSecurityPermissions",inParams,null);