【VB.NET】ファイル・フォルダに対しフルアクセスを許可

Imports System.IO
Imports System.Security.AccessControl

''' <summary>
''' ファイル・フォルダに対しフルアクセスを許可する。
''' </summary>
''' <param name="path">パス。</param>
Public Shared Sub AddFullAccessRule(ByVal path As String)
    Dim fileInfo As New FileInfo(path)
    Dim fileSec As FileSecurity = fileInfo.GetAccessControl()

    ' アクセス権限をEveryoneに対しフルコントロール許可
    Dim accessRule As New FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow)
    fileSec.AddAccessRule(accessRule)
    fileInfo.SetAccessControl(fileSec)

    ' ファイルの読み取り専用属性を削除
    If (fileInfo.Attributes And FileAttributes.ReadOnly) = FileAttributes.ReadOnly Then
        fileInfo.Attributes = FileAttributes.Normal
    End If
End Sub