Пример #1
0
        public static System.Collections.Specialized.OrderedDictionary ConvertFrom_UACValue(Args_ConvertFrom_UACValue args = null)
        {
            if (args == null)
            {
                args = new Args_ConvertFrom_UACValue();
            }

            // values from https://support.microsoft.com/en-us/kb/305144
            var UACValues = new System.Collections.Specialized.OrderedDictionary();

            UACValues.Add("SCRIPT", 1);
            UACValues.Add("ACCOUNTDISABLE", 2);
            UACValues.Add("HOMEDIR_REQUIRED", 8);
            UACValues.Add("LOCKOUT", 16);
            UACValues.Add("PASSWD_NOTREQD", 32);
            UACValues.Add("PASSWD_CANT_CHANGE", 64);
            UACValues.Add("ENCRYPTED_TEXT_PWD_ALLOWED", 128);
            UACValues.Add("TEMP_DUPLICATE_ACCOUNT", 256);
            UACValues.Add("NORMAL_ACCOUNT", 512);
            UACValues.Add("INTERDOMAIN_TRUST_ACCOUNT", 2048);
            UACValues.Add("WORKSTATION_TRUST_ACCOUNT", 4096);
            UACValues.Add("SERVER_TRUST_ACCOUNT", 8192);
            UACValues.Add("DONT_EXPIRE_PASSWORD", 65536);
            UACValues.Add("MNS_LOGON_ACCOUNT", 131072);
            UACValues.Add("SMARTCARD_REQUIRED", 262144);
            UACValues.Add("TRUSTED_FOR_DELEGATION", 524288);
            UACValues.Add("NOT_DELEGATED", 1048576);
            UACValues.Add("USE_DES_KEY_ONLY", 2097152);
            UACValues.Add("DONT_REQ_PREAUTH", 4194304);
            UACValues.Add("PASSWORD_EXPIRED", 8388608);
            UACValues.Add("TRUSTED_TO_AUTH_FOR_DELEGATION", 16777216);
            UACValues.Add("PARTIAL_SECRETS_ACCOUNT", 67108864);

            var ResultUACValues = new System.Collections.Specialized.OrderedDictionary();

            if (args.ShowAll)
            {
                foreach (DictionaryEntry UACValue in UACValues)
                {
                    if ((args.Value & (int)UACValue.Value) == (int)UACValue.Value)
                    {
                        ResultUACValues.Add(UACValue.Key, $"{UACValue.Value}+");
                    }
                    else
                    {
                        ResultUACValues.Add(UACValue.Key, $"{UACValue.Value}");
                    }
                }
            }
            else
            {
                foreach (DictionaryEntry UACValue in UACValues)
                {
                    if ((args.Value & (int)UACValue.Value) == (int)UACValue.Value)
                    {
                        ResultUACValues.Add(UACValue.Key, $"{UACValue.Value}");
                    }
                }
            }
            return(ResultUACValues);
        }
Пример #2
0
 public static System.Collections.Specialized.OrderedDictionary ConvertFrom_UACValue(Args_ConvertFrom_UACValue args = null)
 {
     return(ConvertFromUACValue.ConvertFrom_UACValue(args));
 }