If your Account Policy (User Manager / Policies / Account) is Allow Changes in n Days, you may want a report of user accounts that are temporarily prohibited from changing their password.

On your PDC run:

JSIPNChg <Drive:>\folder\PNChg.txt

where <Drive:>\folder\PNChg.txt is the output report file.

JSIPNChg.bat uses only standard commands and contains:

<b>@echo off
if NOT "%1"<h1><a name="_goto_begin_syntax_echo_Syntax_JSIPNChg_File_goto_end_begin_setlocal_set_file_1_if_exist_file_del_q_file_for_f_Tokens_i_in_date_t_do_set_date_i_for_f_Tokens_i_in_time_t_do_set_time_i_set_now_date_time_set_now_now_4_16_for_f_Tokens_1_4_Delims_i_in_echo_now_do_set_mm_i_amp_set_dd_j_amp_set_yy_k_amp_set_tt_l_set_a_year_yy_if_year_LEQ_80_set_a_year_year_2000_if_year_LEQ_99_set_a_year_year_1900_set_now_year_mm_dd_tt_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 begin
:syntax
@echo Syntax: JSIPNChg File
goto end
:begin
setlocal
set file=%1
if exist %file% del /q %file%
for /f "Tokens=*" %%i in ('date /t') do set date=%%i
for /f "Tokens=*" %%i in ('time /t') do set time=%%i
set now=%date%%time%
set now=%now:~4,16%
for /f "Tokens=1-4 Delims=/ " %%i in ('@echo %now%') do set mm=%%i&set dd=%%j&set yy=%%k&set tt=%%l
set /a year=%yy%
if %year% LEQ 80 set /a year=%year% + 2000
if %year% LEQ 99 set /a year=%year% + 1900
set now=%year%%mm%%dd%%tt%
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%"</a></h1>"The command completed successfully." goto end
set substr=%str:~0,25%#
set substr=%substr:  =%
set substr=%substr: #=%
set substr=%substr:#=%
if "%substr%"<h1><a name="_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:~25,25%#
set substr=%substr:  =%
set substr=%substr: #=%
set substr=%substr:#=%
if "%substr%"</a></h1>"" 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%"<h1><a name="_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_">"" 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%</a></h1>"The command completed successfully." goto end
set ustr=%ustr:"=%
if %cnt% EQU 2 set fullname=%ustr:~29,99% & set actv="Y"
if %cnt% EQU 6 goto active
if %cnt% EQU 8 goto lastset
if %cnt% EQU 10 goto change
if %cnt% NEQ 12 goto end
set ls="%ustr:~29,3%"
if %actv%<h1><a name="_N_goto_end_if_not_ls_">"N" goto end
if not %ls%</a></h1>"Yes" goto end
if "%change%"<h1><a name="_N_goto_end_set_substr_substr_set_substr_substr_#_set_substr_substr_0_22_set_fullname_fullname_set_fullname_fullname_#_set_fullname_fullname_0_30_echo_substr_change_fullname_gt_gt_file_goto_end_active_set_aa_ustr_29_3_if_aa_">"N" goto end
set substr=%substr:"=%
set substr=%substr%                                                        #
set substr=%substr:~0,22%
set fullname=%fullname:"=%
set fullname=%fullname%                                                    #
set fullname=%fullname:~0,30%
@echo %substr% %change% %fullname% >> %file%
goto end
:active
set aa="%ustr:~29,3%"
if %aa%</a></h1>"Yes" goto end
set actv="N"
goto end
:lastset
set last="%ustr:~29,16%"
goto end
:nochg
set change=N
goto end
:change
set change=%ustr:~29,16%
if "%change%" LEQ %last% goto nochg
for /f "Tokens=1-4 Delims=/ " %%i in ('@echo %change%') do set mm=%%i&set dd=%%j&set yy=%%k&set tt=%%l
set /a year=%yy%
if %year% LEQ 80 set /a year=%year% + 2000
if %year% LEQ 99 set /a year=%year% + 1900
set chg=%year%%mm%%dd%%tt%
if "%chg%" LEQ "%now%" set change=N
:end</b>