How would you find all users that have not logged on since
last month?
Answer Posted / mohammed rafique
Using only native commands, JSILLD.bat produces a sorted/formated report of Users who have not logged on since YYYYMMDD.
The report is sorted by UserName and list the user's full name and last logon date.
The syntax for using JSILLD.bat is:
JSILLD \Folder\OutputFile.Ext YYYYMMDD [/N]
where:
YYYYMMDD will report all users who have not logged on since this date.
/N is an optional parameter that will bypass users who have never logged on.
JSILLD.bat contains:
@echo off
setlocal
if {%2}=={} goto syntax
if "%3"=="" goto begin
if /i "%3"=="/n" goto begin
:syntax
@echo Syntax: JSILLD File yyyymmdd [/N]
endlocal
goto :EOF
:begin
if /i "%2"=="/n" goto syntax
set dte=%2
set XX=%dte:~0,4%
if "%XX%" LSS "1993" goto syntax
set XX=%dte:~4,2%
if "%XX%" LSS "01" goto syntax
if "%XX%" GTR "12" goto syntax
set XX=%dte:~6,2%
if "%XX%" LSS "01" goto syntax
if "%XX%" GTR "31" goto syntax
set never=X
if /i "%3"=="/n" set never=/n
set file=%1
if exist %file% del /q %file%
for /f "Skip=4 Tokens=*" %%i in ('net user /domain^|findstr /v /c:"----"^|findstr /v /i /c:"The command completed"') do (
do call :parse "%%i"
)
endlocal
goto :EOF
:parse
set str=#%1#
set str=%str:#"=%
set str=%str:"#=%
set substr=%str:~0,25%#
set substr=%substr: =%
set substr=%substr: #=%
set substr=%substr:#=%
if "%substr%"=="" goto :EOF
for /f "Skip=1 Tokens=*" %%i in ('net user "%substr%" /domain') do call :parse1 "%%i"
set substr=%str:~25,25%#
set substr=%substr: =%
set substr=%substr: #=%
set substr=%substr:#=%
if "%substr%"=="" goto :EOF
for /f "Skip=1 Tokens=*" %%i in ('net user "%substr%" /domain') do call :parse1 "%%i"
set substr=%str:~50,25%#
set substr=%substr: =%
set substr=%substr: #=%
set substr=%substr:#=%
if "%substr%"=="" goto :EOF
for /f "Skip=1 Tokens=*" %%i in ('net user "%substr%" /domain') do call :parse1 "%%i"
goto :EOF
:parse1
set ustr=%1
if %ustr%=="The command completed successfully." goto :EOF
set ustr=%ustr:"=%
if /i "%ustr:~0,9%"=="Full Name" set fullname=%ustr:~29,99%
if /i not "%ustr:~0,10%"=="Last logon" goto :EOF
set txt=%ustr:~29,99%
for /f "Tokens=1,2,3 Delims=/ " %%i in ('@echo %txt%') do set MM=%%i&set DD=%%j&set YY=%%k
if /i "%MM%"=="Never" goto tstnvr
goto year
:tstnvr
if /i "%never%"=="/n" goto :EOF
goto report
:year
if "%YY%" GTR "1000" goto mmm
if "%YY%" GTR "92" goto Y19
set /a YY=100%YY%%%100
set YY=%YY% + 2000
goto mmm
:Y19
set YY=19%YY%
:mmm
set /a XX=100%MM%%%100
if %XX% LSS 10 set MM=0%XX%
set /a XX=100%DD%%%100
if %XX% LSS 10 set DD=0%XX%
set YMD=%YY%%MM%%DD%
if "%YMD%" GEQ "%dte%" goto :EOF
:report
set fullname=%fullname% #
set fullname=%fullname:~0,35%
set substr=%substr% #
set substr=%substr:~0,30%
@echo %substr% %fullname% %txt% >> %file%
Is This Answer Correct ? | 0 Yes | 1 No |
Post New Answer View All Answers
What is POST?
windows file/folder sharing ?
I want to clear the mcse in 2007. So could i get the latest dump of msce questions?
Hi, I want to do asp.net certification. So please guide me how i can proceed.
What are application partitions? When do I use them
How do you create a new application partition
is the cogent cyber solution trainig centre best for .net course?
HI Guys...... Good day ahead How many sub domains can be added in exchange server means in a domain
Can you connect Active Directory to other 3rd-party Directory Services? Name a few options.
Which is best among dotnet and dotnet diploma? Friends Please answer this question as soon as possible.
mcse 2003 to mcitp upgrade paper
What are sites? What are they used for?
What do you do to install a new Windows 2003 R2 DC in a Windows 2003 AD?
Hi can any one help me for 70-562 dumps?
HOW TO USE FSMO ROLES IN FOREST.. MEANS IF WE HAVE A THREE DOAMINS IN FOREST .....THEY R HYD.COM(FIRST ONE....PRIMARY DOMAIN IN THE FOREST),BANG.COM (SECOND DOMAIN),CSD.COM(THIRD DOMAIN). I WANT TO IMPLEMENT FSMO ROLES IN THIRD DOMAIN HOW TO IMPLEMENT IT ...MEANS HOW TO CONNECT WITH DOAMIN AND WHAT ROLES WE IMPLEMENT..