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 begin :syntax @echo Syntax: JSIUMD File goto end :begin setlocal set file=%1 if exist %file% del /q %file% if "%2"
"" goto syntax :switch shift if "%1""" goto check if /i "%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%""The command completed successfully." goto end set substr=%str:~0,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" 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" set substr=%str:~50,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%"The command completed successfully." goto end set ustr=%ustr:"=% if %cnt% GTR 18 goto parse2 goto tst%cnt% :tst1 set lh=N goto end :tst2 if /i not "%sfn%"
"/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%""%prev%" goto end set prev=%substr% set substr=%substr%# set substr=%substr: #=% set substr=%substr:#=% for /f "Tokens=*" %%i in ('net user "%substr%"') do call :parse3 "%%i" goto end :sep @echo * >> %file% @echo ____________%sfn% %sc% %suc% %spe% %spr% %sucp% %sw% %sls% %sup% %shd% %slh% %slg% %sgg%______________________ >> %file% @echo * >> %file% goto end :logon set lh=Y goto out1 :parse3 set ustr=%1 if %ustr%
"The command completed successfully." goto sep set ustr=%ustr:"=% if "%ustr%""" goto end if "%ustr:~0,1%"
"*" set ustr=%ustr% set ln="%ustr:~0,8%" if %ln%"User nam" set lh=N if %ln%
"Logon ho" goto logon if "%lh%""N" goto out1 if %ln%
"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
0 comments
Hide comments