In tip 1252, JSIUsersBig produced a report all user data elements.
JSIUMD produces a similar report if one or more user data elements are "missing". The syntax for using JSIUMD.bat is:
JSIUMD <Drive:>\Folder\ReportFile.txt \[/FN\] \[/C\] \[/UC\] \[/PE\] \[/PR\] \[/UCP\] \[/W\] \[/LS\] \[/UP\] \[/HD\] \[/LH\] \[/LG\] \[/GG\]
where at least one switch must be specified. You may specify as many switches as you wish. The switches have the following meaning:
Switch M e a n i n g /FN Full Name is missing. /C Comment is missing. /UC User Comment is missing. /PE Password never expires. /PR Password is not required. /UCP The User may not change their passowrd. /W The user may logon at any workstation. /LS Logon Script is missing. /UP The User Profile path is missing. /HD The Home Directory path is missing. /LH There are no Logon Hours restrictions. /LG The user is not a member of any Local Group. /GG The user is not a member of any Global Group.
JSIUMD.bat contains:
@echo off if NOT "%1"
"" goto syntax :switch shift if "%1"
"/fn" set sfn=%1&goto switch if /i "%1"
"/c" set sc=%1&goto switch if /i "%1"
"/uc" set suc=%1&goto switch if /i "%1"
"/pe" set spe=%1&goto switch if /i "%1"
"/pr" set spr=%1&goto switch if /i "%1"
"/ucp" set sucp=%1&goto switch if /i "%1"
"/w" set sw=%1&goto switch if /i "%1"
"/ls" set sls=%1&goto switch if /i "%1"
"/up" set sup=%1&goto switch if /i "%1"
"/hd" set shd=%1&goto switch if /i "%1"
"/lh" set slh=%1&goto switch if /i "%1"
"/lg" set slg=%1&goto switch if /i "%1"
"/gg" set sgg=%1&goto switch goto syntax :check @echo ____________%sfn% %sc% %suc% %spe% %spr% %sucp% %sw% %sls% %sup% %shd% %slh% %slg% %sgg%______________________ >> %file% @echo * >> %file% set prev=ZZZZZZZZZZZZ for /f "Skip=4 Tokens=*" %%i in ('net users') do call :parse "%%i" endlocal goto end :parse set str=#%1# set str=%str:#"=% set str=%str:"#=% if "%str%"
"" goto end set /a cnt=0 for /f "Tokens=*" %%i in ('net user "%substr%"') do call :parse1 "%%i" set substr=%str:~25,25%# set substr=%substr: =% set substr=%substr: #=% set substr=%substr:#=% if "%substr%"
"" goto end set /a cnt=0 for /f "Tokens=*" %%i in ('net user "%substr%"') do call :parse1 "%%i" goto end :parse1 set /a cnt=%cnt% + 1 set ustr=%1 if %ustr%
"/fn" goto end if /i not "%ustr:~29,1%"
"" goto end goto out :tst3 if /i not "%sc%"
"/c" goto end if /i not "%ustr:~29,1%"
"" goto end goto out :tst4 if /i not "%suc%"
"/uc" goto end if /i not "%ustr:~29,1%"
"" goto end goto out :tst9 if /i not "%spe%"
"/pe" goto end if /i not "%ustr:~29,5%"
"Never" goto end goto out :tst11 if /i not "%spr%"
"/pr" goto end if /i not "%ustr:~29,2%"
"No" goto end goto out :tst12 if /i not "%sucp%"
"/ucp" goto end if /i not "%ustr:~29,2%"
"No" goto end goto out :tst13 if /i not "%sw%"
"/sw" goto end if /i not "%ustr:~29,3%"
"All" goto end goto out :tst14 if /i not "%sls%"
"/ls" goto end if /i not "%ustr:~29,1%"
"" goto end goto out :tst15 if /i not "%sup%"
"/up" goto end if /i not "%ustr:~29,1%"
"" goto end goto out :tst16 if /i not "%shd%"
"/hd" goto end if /i not "%ustr:~29,1%"
"" goto end goto out :tst17 goto end :tst18 set lh=Y if /i not "%slh%"
"/lh" goto end if /i not "%ustr:~29,3%"
"All" goto end goto out :parse2 if "%ustr:~0,1%"
"*" goto end set ln="%ustr:~0,8%" if %ln%
"Local Gr" set ln=N&goto tstlg if %ln%
"Global G" set ln=N&goto tstgg goto end :tstlg if /i not "%slg%"
"/lg" goto end if /i not "%ustr:~29,1%"
"" goto end goto out :tstgg if /i not "%sgg%"
"/gg" goto end if /i not "%ustr:~29,1%"
"" goto end :out if "%substr%"
"The command completed successfully." goto sep set ustr=%ustr:"=% if "%ustr%"
"*" set ustr=%ustr% set ln="%ustr:~0,8%" if %ln%
"Logon ho" goto logon if "%lh%"
"Local Gr" set ln=N&goto out1 if %ln%=="Global G" set ln=N&goto out1 set ustr= %ustr% :out1 @echo %ustr% >> %file% :tst5 :tst6 :tst7 :tst8 :tst10 :end