static void AdjustNtPermissions(string rootFolder, string NTcredential, bool Add) { NTGroup g1 = new NTGroup(); if (Add) { Console.Write("Adding permission for credential .. "); try { g1.AddDirectorySecurity(rootFolder, NTcredential, System.Security.AccessControl.FileSystemRights.ListDirectory | System.Security.AccessControl.FileSystemRights.Traverse | System.Security.AccessControl.FileSystemRights.Delete | System.Security.AccessControl.FileSystemRights.DeleteSubdirectoriesAndFiles, System.Security.AccessControl.InheritanceFlags.ContainerInherit | System.Security.AccessControl.InheritanceFlags.ObjectInherit, System.Security.AccessControl.PropagationFlags.None, System.Security.AccessControl.AccessControlType.Allow); Console.WriteLine("done"); } catch (Exception errAdd) { Console.WriteLine("err: {0}", errAdd.Message); } } else { Console.Write("Removing permission for credential .. "); try { g1.RemoveDirectorySecurity(rootFolder, NTcredential, System.Security.AccessControl.FileSystemRights.ListDirectory | System.Security.AccessControl.FileSystemRights.Traverse | System.Security.AccessControl.FileSystemRights.Delete | System.Security.AccessControl.FileSystemRights.DeleteSubdirectoriesAndFiles, System.Security.AccessControl.InheritanceFlags.ContainerInherit | System.Security.AccessControl.InheritanceFlags.ObjectInherit, System.Security.AccessControl.PropagationFlags.None, System.Security.AccessControl.AccessControlType.Allow); Console.WriteLine("done"); } catch (Exception errRemove) { Console.WriteLine("err: {0}", errRemove.Message); } } }