@echo off :: Configuration d'unattended par l'admin. :: :: Ce fichier fait partie de la partie unattended du projet SambaEdu. :: Auteur : Olivier Lacroix - mars 2009 echo. echo ###################################################### echo # CONFIGURATION D'UNATTENDED pour votre reseau. # echo # # echo # UNATTENDED permet d'installer automatiquement # echo # Windows XP sur vos stations vierges ou d'ecraser # echo # l'OS existant en cas d'epidemie virale,... # echo # # echo ###################################################### echo. echo Ce script est a executer une seule et unique fois sur un poste windows. echo Inserer le CD Windows XP Corporate dans votre lecteur CD-ROM si vous n'avez jamais effectue la copie. echo. echo ATTENTION AUX REGARDS INDISCRETS : le mot de passe d'adminse3 sera affiche. echo. Set REPONSE=O Set /P REPONSE= Voulez-vous configurer unattended maintenant ? O^|N [%REPONSE%] if Not "%REPONSE%"=="O" if Not "%REPONSE%"=="o" Goto TCHAO Goto CESTPARTI :TCHAO echo. echo Une autre fois peut-etre ... Goto Done :CESTPARTI echo. echo C'est parti ... echo. :: lettre normalement utilisee sous le compte admin if ""=="%Z%" set Z=Y:\unattended\install :: recuperation du nom netbios du se3 if exist %Z%\wpkg\initvars_se3.bat call %Z%\wpkg\initvars_se3.bat if "%LOGONSERVER%"=="" if not "%SE3%"=="" set LOGONSERVER=\\%SE3%&& echo Le nom NETBIOS du SE3 est %SE3% :: si la methode précédente a échoue, le nom est contenu dans le registre car la lettre Z est mappee sous wpkg if not "%LOGONSERVER%"=="" goto suitelogonserver :: méthode obsolète normalement for /F "usebackq tokens=2,3 delims= " %%o in (`net use`) do if "%%o"=="%z%" echo %%p> %SystemDrive%\netinst\logonserver.txt for /F "tokens=1 delims=\" %%o in (%SystemDrive%\netinst\logonserver.txt) do set LOGONSERVER=\\%%o echo Le nom NETBIOS du SE3 est %LOGONSERVER% : recupere localement... echo Anormal: le fichier %Z%\wpkg\initvars_se3.bat semble invalide. if exist %SystemDrive%\netinst\logonserver.txt del /F /Q %SystemDrive%\netinst\logonserver.txt :suitelogonserver :: recuperation du nom de domaine pour l'intégration automatique après l'installation unattended if "%USERDOMAIN%"=="" ( echo Impossible de recuperer le nom du domaine. Connectez vous au poste windows en tant qu'admin pour lancer ce script. goto Done ) ELSE ( echo Le nom du domaine SE3 est %USERDOMAIN%. ) Set unattendedSCRIPTS=%LOGONSERVER%\install\scripts :: obsolete : inutile de creer ce fichier sur le serveur : il est genere desormais par basese3.bat à la volée :: echo Set IPSE3=%IPSE3%>%unattendedSCRIPTS%\IPSE3.bat :: ####################### DEBUT DU SCRIPT PROPREMENT DIT ##################### :: Copie automatique du cd windows xp corporate vers Z:\os\xp if exist %Z%\os\xp\I386\winnt.exe goto SuiteCDXP set COMPTEURDETECTION=0 echo Veuillez inserer le cd de windowsxp corporate : detection automatique... if not exist %systemdrive%\netinst mkdir %systemdrive%\netinst :boucledetection reg query HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices | find /I "DosDevices" > %systemdrive%\netinst\drives.tmp for /F "tokens=3 delims=\" %%o in (%systemdrive%\netinst\drives.tmp) do echo %%o>> %systemdrive%\netinst\drives2.tmp for /F "tokens=1 delims= " %%p in (%systemdrive%\netinst\drives2.tmp) do ( if not "%systemdrive%"=="%%p" if not "A:"=="%%p" ( echo Recherche de windows XP sur %%p... if not exist %Z%\os\xp mkdir %Z%\os\xp if exist %%p\I386\winnt.exe echo Copie des fichiers WindowsXP depuis le lecteur %%p vers %Z%\os\xp: veuillez patienter, ceci peut-etre long...&&xcopy /Y /Q /E %%p\* %Z%\os\xp&goto fincopie ) ) del /s /q %systemdrive%\netinst\drives2.tmp >NUL ping -n 5 127.0.0.1>NUL set /A COMPTEURDETECTION=%COMPTEURDETECTION%+5 rem on boucle pendant 30 sec , après on passe if /I 30 GTR %COMPTEURDETECTION% ( goto boucledetection ) ELSE ( echo. echo CD de windows XP non detecte : on passe... Il faudra le copier plus tard manuellement dans Y:\unattended\install\os\xp ou relancer ce script. ) :fincopie if exist %systemdrive%\netinst\drives.tmp del /s /q %systemdrive%\netinst\drives.tmp >NUL if exist %systemdrive%\netinst\drives2.tmp del /s /q %systemdrive%\netinst\drives2.tmp >NUL :SuiteCDXP if exist %Z%\os\xp\I386\winnt.exe set WINXPPRESENT=OK && echo.&& echo Les fichiers de windows Xp sont bien presents dans : Y:\unattended\install\os\winxp :: ajout du dossier $OEM$\$1 pour la copie des drivers if exist %Z%\os\xp if not exist %Z%\os\xp\$OEM$\$1 mkdir %Z%\os\xp\$OEM$\$1 echo. :: Saisie du nom de l'os et de la clé if not exist %Z%\os\xp.txt ( echo :: Le fichier %Z%\os\xp.txt doit contenir deux lignes du type : > %Z%\os\xp.txt echo OSNAME=Windows XP Professionnel>> %Z%\os\xp.txt echo PRODUCTKEY=*****-*****-*****-*****-*****>> %Z%\os\xp.txt ) for /F "usebackq tokens=1,2 delims==" %%o in (`type %Z%\os\xp.txt`) do if not "%%p"=="" set %%o=%%p Set REPONSE= echo Saisir le nom de l'OS pour unattended ou valider pour conserver [%OSNAME%] : Set /P REPONSE= if Not "%REPONSE%"=="" ( set NEWOSNAME=%REPONSE% ) ELSE ( set NEWOSNAME=%OSNAME% ) Set REPONSE= echo Saisir le numero de serie de "%NEWOSNAME%" sous la forme *****-*****-*****-*****-***** ou valider pour conserver [%PRODUCTKEY%] : set /P REPONSE= if Not "%REPONSE%"=="" ( set NEWPRODUCTKEY=%REPONSE% ) ELSE ( set NEWPRODUCTKEY=%PRODUCTKEY% ) if "%NEWPRODUCTKEY%"=="%PRODUCTKEY%" if "%NEWOSNAME%"=="%OSNAME%" goto SuiteSerial echo Modification de l'OS : %NEWOSNAME% et de la clef : %NEWPRODUCTKEY%. type %Z%\os\xp.txt | Findstr /V /I "\ "%Z%\os\xp.txt.tmp" type %Z%\os\xp.txt.tmp | Findstr /V /I "\ "%Z%\os\xp.txt" echo OSNAME=%NEWOSNAME%>> %Z%\os\xp.txt echo PRODUCTKEY=%NEWPRODUCTKEY%>> %Z%\os\xp.txt if exist "%Z%\os\xp.txt.tmp" del /s /Q "%Z%\os\xp.txt.tmp" >NUL :SuiteSerial echo. echo ######################################################################## echo. echo Preparation d'unattended realisee avec succes. echo. echo ######################################################################## echo. echo Il reste a faire : if "%WINXPPRESENT%"=="OK" echo - Copier le CD de windows XP Corporate dans Y:\unattended\install\os\winxp. set WINXPPRESENT= echo - Completer l'image du cd de windows XP avec le driver pack afin de supporter toutes les cartes reseaux, entre autres: echo http://driverpacks.net/DriverPacks/download.php?pag=b :Done echo. echo Fin de unattended-config.bat Pause