Friday, June 24, 2011

Get the user Expire Time From Active Directory using User Name

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
using Microsoft.VisualBasic;

namespace AD
{
    class Program
    {
        static public void Main(string[] args)
        {
            DirectoryEntry user = new DirectoryEntry("LDAP://CN=" + username + "," + " OU= Web Users,DC=SERVERNAME,DC=com", null, null, AuthenticationTypes.Secure);
            DateTime expires = DateTime.FromFileTime(GetInt64(user, "accountExpires"));
            string exp1 = expires.ToShortDateString();
            Console.WriteLine(exp1.ToString());
            string exp=expires.ToLongDateString();
            Console.WriteLine(exp.ToString());
            Console.WriteLine(expires.ToString());
            Console.ReadKey();
        }

        static string username = "testuser1";
       
        static public Int64 GetInt64(DirectoryEntry entry, string attr)
        {
            //we will use the marshaling behavior of
            //the searcher
            DirectorySearcher ds = new DirectorySearcher(
                entry,
                String.Format("({0}=*)", attr),
                new string[] { attr },
                SearchScope.Base
                );

            SearchResult sr = ds.FindOne();

            if (sr != null)
            {
                if (sr.Properties.Contains(attr))
                {
                    return (Int64)sr.Properties[attr][0];
                }
            }
            return -1;
        }

    }
}

Note: DC=SERVERNAME in this place please give you server name like 'myserver1'

Featured Post

Protect an API by using OAuth 2.0 with Azure Active Directory and API Management

Protect an API by using OAuth 2.0 with Azure Active Directory and API Management https://docs.microsoft.com/en-us/azure/api-management/api-...

Popular posts