/ / / Batch Script για την αυτόματη ενημέρωση των εργαλείων Sysinternals

Παρτίδα δέσμης ενεργειών για αυτόματη ενημέρωση των εργαλείων Sysinternals

Ενώ είναι τα εργαλεία Microsoft Sysinternalsαπίστευτα ισχυρό και χρήσιμο, το χαρακτηριστικό που τους λείπει είναι η δυνατότητα ελέγχου για νέες εκδόσεις. Επί του παρόντος, πρέπει να ελέγχετε περιοδικά τον ιστότοπο Sysinternals και να συγκρίνετε τις εκδόσεις μεταξύ του συστήματός σας και της πιο πρόσφατης επίσημης έκδοσης, προκειμένου να ενημερωθείτε.

Ως καλύτερη λύση, δημιουργήσαμε μια παρτίδατο οποίο θα ενημερώνει αυτόματα τα εργαλεία Sysinternals που έχετε στο σύστημά σας. Το μόνο που έχετε να κάνετε είναι να τοποθετήσετε το αρχείο δέσμης ενεργειών στο φάκελο όπου βρίσκονται τα εργαλεία Sysinternals και το σενάριο κάνει το υπόλοιπο, δεν απαιτείται διαμόρφωση.

Εδώ είναι πώς λειτουργεί:

  • Η τρέχουσα λίστα εργαλείων από το Sysinternals μεταφορτώνεται και συγκρίνεται με τα αρχεία του συστήματός σας.
  • Εάν εντοπιστεί μια αντιστοίχιση, η τρέχουσα έκδοση από το Sysinternals αντιγράφεται στο σύστημά σας.
  • Εάν ένα εργαλείο εκτελείται αυτή τη στιγμή, είναι κλειστό και στη συνέχεια επανεκκινείται μόλις ολοκληρωθεί η δέσμη ενεργειών.

Το σενάριο

@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

Συνδέσεις

Κατεβάστε Sysinternals Updater Script από Sysadmin Geek