O'Reilly logo

Active Directory Cookbook by Robbie Allen

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

6.28. Finding Users Who Have Not Logged On Recently

Tip

This recipe requires the Windows Server 2003 domain functional level.

Problem

You want to determine which users have not logged on recently.

Solution

Using a graphical user interface

  1. Open the Active Directory Users and Computers snap-in.

  2. In the left pane, right-click on the domain and select Find.

  3. Beside Find, select Common Queries.

  4. Select the number of days beside Days since last logon.

  5. Click the Find Now button.

Using a command-line interface

> dsquery user -inactive <NumWeeks>

Using Perl

# This code finds the users that have not logged in over a period of time
# ------ SCRIPT CONFIGURATION ------
# Domain and container/OU to check for inactive accounts
my $domain   = '<DomainDNSName>';  # e.g. amer.rallencorp.com
my $cont     = 'cn=Users'; # set to empty string to query entire domain
                           # Or set to a relative path in the domain:
                           #    e.g. cn=Users
# Number of weeks a user needs to be inactive to be returned
my $weeks_ago = <NumWeeks>; # e.g. 4 # ------ END CONFIGURATION --------- use strict; use Win32::OLE; $Win32::OLE::Warn = 3; use Math::BigInt; # Need to convert the number of seconds since $weeks_ago # to a large integer for comparison against lastLogonTimestamp my $past_secs = time - 60*60*24*7*$weeks_ago; my $intObj = Math::BigInt->new($past_secs); $intObj = Math::BigInt->new($intObj->bmul('10 000 000')); my $past_largeint = Math::BigInt->new( $intObj->badd('116 444 736 000 000 000')); $past_largeint =~ s/^[+-]//; # Setup the ADO connections ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required