public static DomainPasswordInformation?GetDomainPasswordInformation(string computerName) { using (PasswordPolicySamServer server = new PasswordPolicySamServer(computerName, SERVER_ACCESS_MASK.SAM_SERVER_ENUMERATE_DOMAINS | SERVER_ACCESS_MASK.SAM_SERVER_LOOKUP_DOMAIN)) { foreach (string domain in server.EnumerateDomains()) { if (string.Compare(domain, "Builtin", true) == 0) { continue; } var sid = server.GetDomainSid(domain); return(server.GetDomainPasswordInformation(sid)); } return(null); } }
protected override IEnumerable <CollectedItem> collectDataForSystemItem(ItemType systemItem) { base.ExecutionLogBuilder.CollectingDataFrom(TargetHostName); var collectedPasswordPolicies = PasswordPolicyHelper.getUserModalsInfo0(TargetHostName); this.MapPasswrodPolicyToPasswordPolicyItemType((passwordpolicy_item)systemItem, collectedPasswordPolicies); PasswordPolicySamServer.DomainPasswordInformation?domainPasswordInfo; try { domainPasswordInfo = PasswordPolicySamServer.GetDomainPasswordInformation(TargetHostName); } catch { domainPasswordInfo = null; } MapDomainPasswrodInformationToPasswordPolicyItemType((passwordpolicy_item)systemItem, domainPasswordInfo); return(new ItemTypeHelper().CreateCollectedItemsWithOneItem(systemItem, base.BuildExecutionLog())); }