암호 만료경고를 작업예약 하기
게시일: 2002/01/04 | 글쓴이: doa | 5397 번 | 프린트 | 메일
사용자들이 시스템의 암호변경 요청을 무시하는 경향이 있고, 로그인 스크립트에 DATE 계산를 구현해도 별 도움이 되지 않는다면 배치파일에서 암호변경을 요청할 수 있다. 이 것을 수행하기위해서는 두개의 배치파일이 필요하다(DoAToday와 TodayP외에):
Expire.bat는 NT 4.0 서버 리소스 킷 - 보충 2의 Showmbrs를 사용하고 있다.
@echo off
cd %SystemRoot%\System32\Repl\Import\Scripts
Set Domain=DoA
del /q user.log
del /q info.log
for /f "Tokens=*" %%i in ('showmbrs "%DOMAIN%\Domain Users"') do
(for /f "tokens=1-3" %%j in ('net user %%i /domain') do
echo %%i~%%j%%k~%%luser.log)
findstr /i "Passwordexpires" user.loginfo.log
findstr /v "~Never" info.loguser.log
del /q info.log
REM Notice.bat은 경고메시지를 출력하는 배치 파일이다.
REM 팁 559의 Xnotify.bat과 비슷한 절차를 사용할 수 있으며, 새로운 방법만들 수도 있다.
REM 임의의 파일을 생성하고 이 것을 전자우편으로 보고하기위해 데이타베이스로 보낼 수 있다.
REM Notice.bat에서 심표로 분리된 데이타 파일을 생성하기위해
REM echo %1,%4,%2,%3,%5,%6,%7
REM %SystemRoot%\System32\Repl\Import\Scripts\csvfile.csv
REM 과 del /q csvfile.csv를 사용한다(이문장 바로 전에)
for /f "Tokens=1-5 delims=~/" %%i in ('type user.log') do
call XYDATE %%i %%k %%l %%m Day28.DAT Day30.DAT Day31.DAT
%SystemRoot%\System32\Repl\Import\Scripts\Notice.bat
exit
XYDate.bat
@echo off
if /i %2 EQU never goto finish
If %4 EQU 98 SET XYY=19%4
If %4 EQU 99 SET XYY=19%4
If %4 EQU 20 SET XYY=20%4
call Todayp %5 %6 %7
if %TDYYP% GTR %XYY% goto notify
if %TDMMP% GTR %2 goto notify
if %TDDDP% GTR %3 goto notify
goto finish
:notify
call %8 %1 %2 %3 %4 %TDYY% %TDMM% %TDDD%
:finish
PDC에서 이 작업을 예약하기위해 Schedule 서비스는 도메인 관리자 계정하에서 실행되어야 한다. 그렇지 않으면 작업 예약기는 시스템 계정하에서 실행되고 이 작업이 도메인 관리자의 역할을 해야 한다(SU를 사용한다. SU에대해서는 보충2를 본다).
AT 00:00 /Every:M,T,W,Th,F,S,Su CMD /C
"%SystemRoot%\System32\Repl\Import\Scripts\Expire.bat"