Пример #1
0
        public static Dictionary <string, string> GetLockoutPolicy()
        {
            Dictionary <string, string> results = new Dictionary <string, string>();

            try
            {
                USER_MODALS_INFO_3 objUserModalsInfo3 = new USER_MODALS_INFO_3();
                IntPtr             bufPtr;
                uint lngReturn = NetUserModalsGet(@"\\" + Environment.MachineName, 3, out bufPtr);
                if (lngReturn == 0)
                {
                    objUserModalsInfo3 = (USER_MODALS_INFO_3)Marshal.PtrToStructure(bufPtr, typeof(USER_MODALS_INFO_3));
                }
                results.Add("Lockout duration", String.Format("{0}", objUserModalsInfo3.usrmod3_lockout_duration));
                results.Add("Lockout Obversation Window", String.Format("{0}", objUserModalsInfo3.usrmod3_lockout_observation_window));
                results.Add("Lockout Threshold", String.Format("{0}", objUserModalsInfo3.usrmod3_lockout_threshold));
                //NetApiBufferFree(bufPtr);
                bufPtr = IntPtr.Zero;
            }
            catch (Exception ex)
            {
                PrintUtils.Debug(ex.StackTrace);
            }
            return(results);
        }
Пример #2
0
            public static List <String> getLockoutPolicy()
            {
                List <String>      retList = new List <String>();
                USER_MODALS_INFO_0 info0   = new USER_MODALS_INFO_0();
                USER_MODALS_INFO_3 info3   = new USER_MODALS_INFO_3();
                IntPtr             ptr;
                uint code = NetUserModalsGet(null, 0, out ptr);

                if (code == 0)
                {
                    info0 = (USER_MODALS_INFO_0)Marshal.PtrToStructure(ptr, typeof(USER_MODALS_INFO_0));
                    retList.Add(String.Format("force_logoff={0:X8}", info0.usrmod0_force_logoff));
                    NetApiBufferFree(ptr);
                    ptr = IntPtr.Zero;
                }
                code = NetUserModalsGet(null, 3, out ptr);
                if (code == 0)
                {
                    info3 = (USER_MODALS_INFO_3)Marshal.PtrToStructure(ptr, typeof(USER_MODALS_INFO_3));
                    retList.Add(String.Format("lockout_duration={0:X8}", info3.usrmod3_lockout_duration));
                    retList.Add(String.Format("lockout_observation_window={0:X8}", info3.usrmod3_lockout_observation_window));
                    retList.Add(String.Format("lockout_threshold={0:X8}", info3.usrmod3_lockout_threshold));
                    NetApiBufferFree(ptr);
                    ptr = IntPtr.Zero;
                }
                return(retList);
            }
        public static void GetLockoutPolicy()
        {
            // Outputed pointer to USER_MODALS_INFO_3 structure containing data
            IntPtr bufferPtr;

            // Call NetUserModalsGet for local machine (null) and requesting lockout parameters (level = 3)
            uint ret = WinAPI.NetUserModalsGet(null, 3, out bufferPtr);

            // Return value is 0 on success
            if (ret == 0)
            {
                // Convert pointer to structure to accessable structure
                USER_MODALS_INFO_3 userModalsInfo3 = Marshal.PtrToStructure <USER_MODALS_INFO_3>(bufferPtr);

                // Time values are stored in seconds, converted to minutes

                Settings.AccountPolicies.LockoutPolicy.AccountLockoutDuration = userModalsInfo3.lockout_duration / 60;

                Settings.AccountPolicies.LockoutPolicy.ResetLockoutCounterAfter = userModalsInfo3.lockout_observation_window / 60;

                Settings.AccountPolicies.LockoutPolicy.AccountLockoutThreshold = userModalsInfo3.lockout_threshold;
            }
        }
Пример #4
0
 public static List<String> getLockoutPolicy()
 {
     List<String> retList = new List<String>();
     USER_MODALS_INFO_0 info0 = new USER_MODALS_INFO_0();
     USER_MODALS_INFO_3 info3 = new USER_MODALS_INFO_3();
     IntPtr ptr;
     uint code = NetUserModalsGet(null, 0, out ptr);
     if (code == 0) {
     info0 = (USER_MODALS_INFO_0)Marshal.PtrToStructure(ptr, typeof(USER_MODALS_INFO_0));
     retList.Add(String.Format("force_logoff={0:X8}", info0.usrmod0_force_logoff));
     NetApiBufferFree(ptr);
     ptr = IntPtr.Zero;
     }
     code = NetUserModalsGet(null, 3, out ptr);
     if (code == 0) {
     info3 = (USER_MODALS_INFO_3)Marshal.PtrToStructure(ptr, typeof(USER_MODALS_INFO_3));
     retList.Add(String.Format("lockout_duration={0:X8}", info3.usrmod3_lockout_duration));
     retList.Add(String.Format("lockout_observation_window={0:X8}", info3.usrmod3_lockout_observation_window));
     retList.Add(String.Format("lockout_threshold={0:X8}", info3.usrmod3_lockout_threshold));
     NetApiBufferFree(ptr);
     ptr = IntPtr.Zero;
     }
     return retList;
 }