Private Const FRAMEWORK_DIRECTORY As String = "Microsoft.NET\Framework\v2.0.50727"
Public Sub AssignNetworkPermission(ByVal remoteDirectory As String, ByVal permissionName As String)
RemoveNetworkPermision(permissionName)
Dim processInfo As New ProcessStartInfo(String.Format("{0}\..\{1}\caspol.exe", _
Environment.SystemDirectory, FRAMEWORK_DIRECTORY), _
String.Format(" -q -machine -addgroup LocalIntranet_Zone -url file:""{0}\*"" FullTrust -name ""{1}""", _
remoteDirectory, permissionName) _
)
processInfo.UseShellExecute = False
processInfo.RedirectStandardOutput = True
processInfo.CreateNoWindow = False
RunProcess(processInfo, True)
End Sub
Public Sub RemoveNetworkPermision(ByVal permissionName As String)
Dim permissionProcess As New ProcessStartInfo(String.Format("{0}\..\{1}\caspol.exe", _
Environment.SystemDirectory, FRAMEWORK_DIRECTORY), _
String.Format(" -q -machine -remgroup ""{0}""", permissionName) _
)
permissionProcess.UseShellExecute = False
permissionProcess.RedirectStandardOutput = True
permissionProcess.CreateNoWindow = False
RunProcess(permissionProcess, True)
End Sub
Private Sub RunProcess(ByVal processInfo As ProcessStartInfo, ByVal waitForExit As Boolean)
Using process As New Process()
process.StartInfo = processInfo
process.Start()
If (waitForExit) Then
process.WaitForExit()
End If
End Using
End Sub