Microsoft Sysinternals 도구는 매우 강력하고 유용하지만 여기에 부족한 기능 중 하나는 새 버전을 확인하는 기능입니다. 현재 최신 상태를 유지하려면 Sysinternals 사이트를 정기적으로 확인하고 시스템과 최신 공식 릴리스 간의 버전을 비교해야합니다.
더 나은 솔루션으로 시스템에있는 Sysinternals 도구를 자동으로 업데이트하는 배치 스크립트를 만들었습니다. Sysinternals 도구가있는 폴더에 배치 스크립트 파일을 저장하기 만하면 나머지는 스크립트가 처리하므로 구성이 필요하지 않습니다.
작동 방식은 다음과 같습니다.
- Sysinternals의 현재 도구 목록이 다운로드되어 시스템의 파일과 비교됩니다.
- 일치하는 항목이 있으면 Sysinternals의 현재 버전이 시스템에 복사됩니다.
- 도구가 현재 실행중인 경우 도구가 닫히고 스크립트가 완료되면 다시 시작됩니다.
스크립트
@ 에코 끄기
TITLE Sysinternals 업데이터
ECHO Sysintenals 업데이터
ECHO 작성자 : Jason Faulkner
ECHO SysadminGeek.com
에코.
에코.
SETLOCAL ENABLEDELAYEDEXPANSION
SET SysInternalsTools = "% Temp % SysInternalsTools.tmp.txt"
SET CurrentTasks = "% Temp % CurrentTasks.tmp.txt"
SET StartWhenFinished = "% Temp % StartWhenFinished.tmp.txt"
에코 감지 디렉토리 : % ~ dp0
% ~ d0
CD % ~ p0
에코.
에코.
ECHO 현재 도구 목록 다운로드 중 ...
SET LiveShare = \ live.sysinternals.comtools
시작 / MIN % LiveShare %
DIR % LiveShare % / B> % SysInternalsTools %
작업 목록> % CurrentTasks %
ECHO; 종료 된 도구> % StartWhenFinished %
에코.
ECHO 설치된 SysInternals 도구 업데이트
FOR / F %% A IN ( 'DIR / B') DO (
FOR / F "usebackq"%% B IN (% SysInternalsTools %) DO (
IF / I [%%A] == [%%B] (
ECHO 업데이트 %% A
FOR / F "usebackq"%% C IN (% CurrentTasks %) DO (
IF / I [%%A] == [%%C] (
ECHO %% C이 (가) 현재 실행 중이며 프로세스를 종료합니다. 큐 다시 시작
에코 %% C >> % StartWhenFinished %
작업 / IM %% A / T / F
)
)
XCOPY % LiveShare %%% B %% A / Y
에코.
)
)
)
에코.
ECHO 죽인 작업 재개
FOR / F "usebackq skip = 1"%% A IN (% StartWhenFinished %) DO (
%% A 시작 에코
"Sysinternals 도구" "%% A"시작
)
존재하는 경우 % SysInternalsTools % DEL % SysInternalsTools %
존재하는 경우 % CurrentTasks % DEL % CurrentTasks %
존재하는 경우 % StartWhenFinished % DEL % StartWhenFinished %
ENDLOCAL
에코.
중지
연결
Sysadmin Geek에서 Sysinternals Updater 스크립트 다운로드