1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
| rem /////////////////////////////ATTENTION//////////////////////////////////////
rem Ce script fonctionne uniquement si l'utilitaire WOL.exe EST
rem Présent dans un répertoire spécifié
rem /////////////////////////////ATTENTION//////////////////////////////////////
rem /////////////////////////////Fonctionalité de script////////////////////////
rem Le script permet d'allumer les machines eteintes afin de pouvoir
rem faire la défragmentation. Ensuite si, cette dernière n'était pas allumée,
rem il l'éteint pour qu'elle retourne dans son état initial.
rem /////////////////////////////Fonctionalité de script////////////////////////
@ echo off
cls
rem |||||||||||||||||||||||définition des variables|||||||||||||||||||||||||||||
rem demande du nom de pc à traiter
set pc=fxp-17044
SET MAC=0024217B4767
set up=0
set date=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
rem |||||||||||||||||||||||définition des variables|||||||||||||||||||||||||||||
rem ///////////////// début Région Modifiable///////////////////////////////////
rem définition du fichier ou sera enregistré les logs (pas de slash à la fin de la ligne)
set log=e:\log\%pc%.log
rem Le script fait appel à un fichier .csv externe qui possede par ligne le nom
rem l ip et l adresse MAC de tous les poste ayant été connectée au réseau.
rem Le fichier .csv doit etre exporté depuis un serveur DHCP dans la section
rem lease avec un clic droit option exporté au format .csv, avec donc les
rem virgules en séparateurs.
rem set cvs=list.csv
rem definition du répertoire où sont situées les programmes externes (wol.exe,psexec.exe)
rem set pgrm=\monserver\defrag\defrag
rem définition d un répertoire temporaire accecible en écriture
rem set tmp=TMP
rem //////////////// fin Region Modifiable//////////////////////////////////////
echo _________________________________________________________ >> %log%
echo ------------------------------------ >> %log%
echo Rapport de la tâche démarrage de %pc% du %date% à %time% >> %log%
echo ------------------------------------ >> %log%
echo _______________________________________________________ >> %log%
rem ----------------------------------------------------------------------------
rem -------------------- Début test présence PC --------------------------------
rem ----------------------------------------------------------------------------
rem si la machine répond au ping alors passer la variable up à 1, sinon la laisser à 0
rem cd \
echo %pc%>temp.txt
for /F %%i IN (temp.txt) DO (PING -n 2 -w 4 %%i | FIND "TTL=">NUL
IF NOT ERRORLEVEL 1 goto ok)
goto non
:non
echo %pc% éteint >> %log%
goto fin
:ok
echo %pc% deja allumé >> %log%
set up=1
:fin
del temp.txt
rem ----------------------------------------------------------------------------
rem ---------------------- FIN test présence PC --------------------------------
rem ----------------------------------------------------------------------------
rem ----------------------------------------------------------------------------
rem -------------------- Début allumage du pc si éteint -------------------------
rem ----------------------------------------------------------------------------
if "%up%"=="0" goto exec
goto fin2
:exec
rem cree un fichier avec la ligne correspondante au nom du pc
rem find " %pc%." %cvs% > mac.txt
wol.exe %MAC%
echo %pc% démarrer >> %log%
rem ----------------------------------------------------------------------------
rem -------------------- Fin allumage du pc si éteint --------------------------
rem ----------------------------------------------------------------------------
rem ----------------------------------------------------------------------------
rem --------------------------- Temporisation ----------------------------------
rem ----------------------------------------------------------------------------
rem temporistation pour attendre démarrage de l OS
:boucle
set /a count = count + 1
if %count%==30 goto finboucle
goto boucle
:finboucle
rem ----------------------------------------------------------------------------
rem --------------------------- Fin Temporisation ------------------------------
rem ----------------------------------------------------------------------------
EXIT |
Partager