Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: checking for old users
;Delete old trace log ;FileDelete("C:\incoming\debug.txt") ;Enable debug trace (turned off now) ;DebugTrace(@on,"C:\incoming\debug.txt") ;Get 95 or NT platform info OStype = WinVersion(4) ;Check for legal platform IF OStype <> 4 && OStype <> 5 ; Is it Win NT or Win 9x ? exit ; if its NOT either we leave endif ;We're only doing it for NT this week IF OStype == 4 ; Win NT ;Load NT extender AddExtender("WWWNT32I.DLL") ;get number of days to check from from operator inp=askline("Check Users Last Logon","Please enter the amount of days you would like to check for users last logon, 90 days is the default","90") ;Save todays date time=timeymdhms() ;Get our Domain controller dc=wntGetDc( "", "", 1) ;message("DC",dc) ;Get lsit of all users UserList = WntUserList(dc,2) ;Get list of all PDC's and BDC's to check ServerList = wntServerList("","",16|8) ;Get count of the number of users found usercount=ItemCount(UserList,@tab) ;Get count of the number of PDC and BDS's found servercount=ItemCount(ServerList,@tab) ;Open a file to write output data to fil=Fileopen("userdata.txt","write") ;FOR EACH user in the list for a=1 to usercount ;Get name of this user User=ItemExtract(a,UserList,@tab) ;initialize newestlastlogon variale newestlastlogon="0000:00:00:00:00:00" ;Now that we have a user name, check all the PDC's and BDC's for this user for bb=1 to servercount ;Get a server name ServerX=ItemExtract(bb,ServerList,@tab) ;Get users last logon time from that server llog=WntUserGetDat(ServerX,User,"last_logon") ;Get users full name from that server nam=WntUserGetDat(ServerX,User,"full_name") ;If last logon time is newer than previous saved time ; (or initialized value) capture latest time if llog > newestlastlogon newestlastlogon=llog endif next ;Now the we checked all the servers for this user... ;Decide if we want to write any information ;Set write flag initially to false dowrite=@false if savelastlogon=="0000:00:00:00:00:00" ; user never logged in. Set write flag to true dowrite=@TRUE else ; or if last logon older than some time in the past... ; set the write flag to true then also if TimeDiffDays(time,newestlastlogon) > inp dowrite=@TRUE endif endif ;If the write flag was set to true...write out a long if dowrite==@TRUE inf = strcat('"',user,'" "',nam,'" "',llog,'"') filewrite(fil,inf) endif next ;Close da file Fileclose(fil) message("Check Users Last Logon","The report is finnished!) endif ; end of NT section exit
Article ID: W14878
File Created: 2001:11:08:12:40:48
Last Updated: 2001:11:08:12:40:48