Embora as ferramentas do Microsoft Sysinternals sejam incrivelmente poderosas e úteis, o único recurso que falta é a capacidade de verificar se há novas versões. Atualmente, você deve verificar periodicamente o site da Sysinternals e comparar as versões entre o seu sistema e a versão oficial mais recente para se manter atualizado.
Como uma solução melhor, criamos um script em lote que atualizará automaticamente as ferramentas Sysinternals que você tem em seu sistema. Tudo o que você precisa fazer é colocar o arquivo de script em lote na pasta onde as ferramentas do Sysinternals estão localizadas e o script faz o resto, nenhuma configuração é necessária.
É assim que funciona:
- A lista atual de ferramentas do Sysinternals é baixada e comparada aos arquivos em seu sistema.
- Se uma correspondência for encontrada, a versão atual do Sysinternals é copiada para o seu sistema.
- Se uma ferramenta estiver em execução, ela será fechada e reiniciada assim que o script for concluído.
O roteiro
@ECHO OFF
TITLE Sysinternals Updater
ECHO Sysintenals Updater
ECHO Escrito por: Jason Faulkner
ECHO SysadminGeek.com
ECO.
ECO.
SETLOCAL HABLEDELAYEDEXPANSION
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
ECO.
ECO.
ECHO Baixando lista de ferramentas atual ...
SET LiveShare = \ live.sysinternals.comtools
INICIAR / MIN% LiveShare%
DIR% LiveShare% / B>% SysInternalsTools%
TASKLIST>% CurrentTasks%
ECHO; ferramentas encerradas>% StartWhenFinished%
ECO.
ECHO Atualizando ferramentas SysInternals instaladas
FOR / F %% A IN ('DIR / B') DO (
FOR / F "usebackq" %% B IN (% SysInternalsTools%) DO (
IF / I [%%A] == [%%B] (
ECHO Atualizando %% A
FOR / F "usebackq" %% C IN (% CurrentTasks%) DO (
IF / I [%%A] == [%%C] (
ECHO %% C está em execução, eliminando o processo - reinicialização da fila
ECHO %% C >>% StartWhenFinished%
TASKKILL / IM %% A / T / F
)
)
XCOPY% LiveShare %%% B %% A / Y
ECO.
)
)
)
ECO.
ECHO Retomando tarefas interrompidas
FOR / F "usebackq skip = 1" %% A IN (% StartWhenFinished%) DO (
ECHO começando %% A
INICIAR "Ferramenta Sysinternals" "%% A"
)
SE EXISTIR% SysInternalsTools% DEL% SysInternalsTools%
SE EXISTIR% CurrentTasks% DEL% CurrentTasks%
IF EXIST% StartWhenFinished% DEL% StartWhenFinished%
ENDLOCAL
ECO.
PAUSA
Links
Baixe Sysinternals Updater Script de Sysadmin Geek