/ / Dávkový skript pro automatické aktualizace nástrojů Sysinternals

Dávkové skripty pro automatické aktualizace nástrojů Sysinternals

Zatímco nástroje Microsoft Sysinternals jsouJedinou funkcí, kterou jim chybí, je schopnost kontrolovat nové verze. V současné době musíte pravidelně kontrolovat web Sysinternals a porovnávat verze mezi vaším systémem a nejnovějším oficiálním vydáním, abyste zůstali aktuální.

Jako lepší řešení jsme vytvořili dávkuskript, který automaticky aktualizuje nástroje Sysinternals, které máte v systému. Jediné, co musíte udělat, je vložit soubor dávkového skriptu do složky, kde jsou umístěny vaše nástroje Sysinternals, a skript provede zbytek, není nutná žádná konfigurace.

Funguje to takto:

  • Aktuální seznam nástrojů ze Sysinternals se stáhne a porovná se soubory ve vašem systému.
  • Pokud je nalezena shoda, bude do vašeho systému zkopírována aktuální verze ze Sysinternals.
  • Pokud je nástroj aktuálně spuštěn, je ukončen a po dokončení skriptu restartován.

Scénář

@ECHO OFF
TITLE Sysinternals Updater
ECHO Sysintenals Updater
ECHO Written by: Jason Faulkner
ECHO SysadminGeek.com
ECHO.
ECHO.
SETLOCAL ENABLEDELAYEDEXPANSION
SET SysInternalsTools="%Temp%SysInternalsTools.tmp.txt"
SET CurrentTasks="%Temp%CurrentTasks.tmp.txt"
SET StartWhenFinished="%Temp%StartWhenFinished.tmp.txt"
ECHO Detected directory: %~dp0
%~d0
CD %~p0
ECHO.
ECHO.
ECHO Downloading current tool list...
SET LiveShare=live.sysinternals.comtools
START /MIN %LiveShare%
DIR %LiveShare% /B > %SysInternalsTools%
TASKLIST > %CurrentTasks%
ECHO ;Terminated tools > %StartWhenFinished%
ECHO.
ECHO Updating installed SysInternals tools
FOR /F %%A IN ('DIR /B') DO (
FOR /F "usebackq" %%B IN (%SysInternalsTools%) DO (
IF /I [%%A]==[%%B] (
ECHO Updating %%A
FOR /F "usebackq" %%C IN (%CurrentTasks%) DO (
IF /I [%%A]==[%%C] (
ECHO %%C is currently running, killing process - queue restart
ECHO %%C >> %StartWhenFinished%
TASKKILL /IM %%A /T /F
)
)
XCOPY %LiveShare%%%B %%A /Y
ECHO.
)
)
)
ECHO.
ECHO Resuming killed tasks
FOR /F "usebackq skip=1" %%A IN (%StartWhenFinished%) DO (
ECHO Starting %%A
START "Sysinternals Tool" "%%A"
)
IF EXIST %SysInternalsTools% DEL %SysInternalsTools%
IF EXIST %CurrentTasks% DEL %CurrentTasks%
IF EXIST %StartWhenFinished% DEL %StartWhenFinished%
ENDLOCAL
ECHO.
PAUSE

Odkazy

Stáhněte si Sysinternals Updater Script od Sysadmin Geek