Tuesday, 14 July 2015

how to find out when a user last visited? using the C#

in your case it would be through c# to get to active directory and query last Log on:

public DateTime Get(string attr, string UserName)
    {

        DomainConfiguration domainConfig = new DomainConfiguration();
        using (new SPMonitoredScope("AD Properties"))
        {
            using (DirectoryEntry domain = new DirectoryEntry("LDAP://" + domainConfig.DomainName, domainConfig.UserName, domainConfig.Password))
            {
                //DirectorySearcher searcher = new DirectorySearcher(domain, "(|(objectClass=organizationalUnit)(objectClass=container)(objectClass=builtinDomain)(objectClass=domainDNS))");
                DirectorySearcher searcher = new DirectorySearcher(domain);
                searcher.PageSize = 1000;
                searcher.Filter = "(SAMAccountName='" + UserName + "')";
                //searcher.Filter = "(|(objectCategory=group)(objectCategory=person))";
                searcher.Filter = "(&(objectClass=user) (cn=" + UserName + "))";
                var user = searcher.FindOne();
                DateTime LastLogon = DateTime.FromFileTime((Int64)user.Properties["lastLogon"].Value);
                return LastLogon;
            }
        }

    }


No comments:

Post a Comment