I could not find any function in .NET that just straight out does this. Furthermore I could not find any code on the web that explained what would be the best way to go about it. Finally I found some code here: (post is no longer there) that checks if you could write to a file and I modified it to check if you could read: Public Shared Function CanReadFile( ByVal fileNameWithPath As String ) As Boolean Dim currentUser As System.Security.Principal.WindowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent() Dim currentPrinciple As System.Security.Principal.WindowsPrincipal = System.Threading.Thread.CurrentPrincipal Dim acl As System.Security.AccessControl.AuthorizationRuleCollection = System.IO.File.GetAccessControl(fileNameWithPath).GetAccessRules( True , True , GetType (System.Security.Principal.SecurityIdentifier)) Dim denyread As Boolean = False Dim allowread As Boolean = False ...