1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Public Class Form1
#Region "SetDirectoryAccessPolicy"
Private Sub SetDirectoryAccessPolicy(ByVal repertoire As String, ByVal droit As FileSystemRights, ByVal type As AccessControlType)
Dim sid As New System.Security.Principal.SecurityIdentifier(System.Security.Principal.WellKnownSidType.WorldSid, Nothing)
Dim acct As System.Security.Principal.NTAccount = TryCast(sid.Translate(GetType(System.Security.Principal.NTAccount)), System.Security.Principal.NTAccount)
Dim strEveryoneAccount As String = acct.ToString()
AddDirectorySecurity(repertoire, strEveryoneAccount, droit, type)
End Sub
#End Region
#Region "AddDirectorySecurity"
Sub AddDirectorySecurity(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal ControlType As AccessControlType)
' Create a new DirectoryInfoobject.
Dim dInfo As New DirectoryInfo(FileName)
' Get a DirectorySecurity object that represents the
' current security settings.
Dim dSecurity As DirectorySecurity = dInfo.GetAccessControl()
'AuthorizationRuleCollection(acl = dSecurity.GetAccessRules(True,True,type.
' Add the FileSystemAccessRule to the security settings.
dSecurity.SetAccessRule(New FileSystemAccessRule(Account, Rights, ControlType))
' Set the new access settings.
dInfo.SetAccessControl(dSecurity)
End Sub
#End Region
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim path As String = "C:\test"
If Directory.Exists(path) = False Then
Directory.CreateDirectory(path)
End If
SetDirectoryAccessPolicy(path, FileSystemRights.FullControl, AccessControlType.Allow)
End Sub |
Partager