public static void LsaUserPrivileges() { var un = $"{Environment.UserDomainName}\\{Environment.UserName}"; using (var h = new LocalSecurityAuthority(null, LocalSecurityAuthority.DesiredAccess.LookupNames | LocalSecurityAuthority.DesiredAccess.ViewLocalInformation)) { AddTestResult(null, $"Priv:{un}", h.UserPrivileges(un).Select(r => r.ToString())); } }
public static void LsaEnumAcctsWithRight() { using (var h = new LocalSecurityAuthority(null, LocalSecurityAuthority.DesiredAccess.LookupNames | LocalSecurityAuthority.DesiredAccess.ViewLocalInformation)) { //const string r = "SeBackupPrivilege"; var right = SystemPrivilege.Debug; foreach (var t in h.EnumerateAccountsWithRight(right)) { AddTestResult(null, $"Acct w/{right}", ((NTAccount)t.Translate(typeof(NTAccount))).Value); } } }
public static void LsaLookupNames() { var accts = new[] { "SYSTEM", "Administrator", "AMERICAS", "*****@*****.**", Environment.MachineName, "*****@*****.**" }; using (var h = new LocalSecurityAuthority(null, LocalSecurityAuthority.DesiredAccess.LookupNames)) { var ret1 = h.LookupNames(false, accts).ToArray(); for (var i = 0; i < ret1.Length; i++) { AddTestResult(null, $"Lookup:{accts[i]}", ret1[i].ToString()); } } }