انقدر کسی جواب نداد که بالاخره خودم جوابمو پیدا کردم
اینجا هم میزارم تا کسایی مثل من که لازمش دارن ازش استفاده کنن
این دستور به اشتراک گذاری پوشه مورد نظره
Dim managementClass As New ManagementClass("Win32_Share")
Dim inParams As ManagementBaseObject = managementClass.GetMethodParameters("Create")
inParams("Description") = "discription"
inParams("Name") = "Files"
inParams("Path") = "c:\"
inParams("Type") = &H0
inParams("Access") = securityDescriptor()
Dim outParams As ManagementBaseObject = managementClass.InvokeMethod("Create", inParams, Nothing)
این تابع هم دسترسی پوشه رو فول کنترل می کنه
Private Shared Function SecurityDescriptor() As ManagementBaseObject
Dim Sec As New SecurityIdentifier(System.Security.Principal.WellK nownSidType.WorldSid, Nothing)
Dim sidArray As Byte() = New Byte(Sec.BinaryLength - 1) {}
Sec.GetBinaryForm(sidArray, 0)
Dim Trustee As ManagementObject = New ManagementClass(New ManagementPath("Win32_Trustee"), Nothing)
Trustee("SID") = sidArray
Dim AdminACE As ManagementObject = New ManagementClass(New ManagementPath("Win32_Ace"), Nothing)
AdminACE("AccessMask") = 2032127 'Full Access
AdminACE("AceFlags") = 3
AdminACE("AceType") = 0
AdminACE("Trustee") = Trustee
Dim secDescriptor As ManagementObject = New ManagementClass(New ManagementPath("Win32_SecurityDescriptor"), Nothing)
secDescriptor("ControlFlags") = 4
secDescriptor("DACL") = New Object() {AdminACE}
Return secDescriptor
End Function
البته این تابع برای شبکه های workgroup کار میکنه