Deployment von Images auf bestimmte Zielmaschinen

Szenario

Ein Administrator muss ein anderes Master-Image auf jeder Zielmaschine bereitstellen.

Lösung

Der Administrator stellt die Images in einen freigegebenen Speicherort, auf den jede Zielmaschine zugreifen kann.

Der Administrator benennt jedes Image entsprechend der MAC-Adresse der Zielmaschine um. Dann heißt beispielsweise das für die Maschine mit der MAC-Adresse 01-02-03-04-05-06 bestimmte Image Image-01-02-03-04-05-06.tib.

Der Administrator schreibt ein Deployment-Skript, das die MAC-Adresse der Zielmaschine lesen kann und das zu dieser MAC-Adresse gehörende Image in dem freigegebenen Speicherort abruft. Das Skript kann auf eine beliebige Anzahl von Zielmaschinen angewendet werden.

Beispielskript

setlocal
SET IMG_PATH=\\image_server\images
SET TMP_DRV_LETTER=h:
net use %TMP_DRV_LETTER% %IMG_PATH%
echo off
for /f "tokens=1-13 delims= " %%a in ('ipconfig /all') do (
IF %%a EQU Physical (
for /f "tokens=1-3 delims= " %%a in ('echo %%l') do (
IF EXIST %TMP_DRV_LETTER%\%%a.tib (
echo DEPLOYMENT IMAGE file: %%a.tib
asdcmd.exe /deploy /filename:%TMP_DRV_LETTER%\%%a.tib /harddisk:1 /target_partition:c
goto end
) ELSE (
echo THE IMAGE FILE %IMG_PATH%\%%a.tib NOT FOUND
)
)
)
)
:end
echo on
net use %TMP_DRV_LETTER% /d
wpeutil Reboot
endlocal

Das führt dieses Skript aus:

  1. Mounten des Netzwerkordners, der die Images enthält (jedes Image entspricht einer Zielmaschine)
  2. Abrufen der MAC-Adresse der Zielmaschine
  3. Generieren eines .tib-Dateinamens (ist die MAC-Adresse 01-02-03-04-05-06, dann lautet der .tib-Dateiname 01-02-03-04-05-06.tib)
  4. Durchsuchen des Netzwerkordners nach einem Image mit diesem Namen
  5. Deployment des Images, wenn es gefunden wird
  6. Neustart oder Herunterfahren der Zielmaschine

Umgebungsvariablen: