Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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()));
        }