eljub Don't be nervous, stay cool !! | leguleguman a écrit :
Bonjour,
ton post m'intéresse car je dois traiter un projet de "Recovery Disaster".
Peux-tu m'apporter des précisions sur la façon dont tu procèdes.
Actuellement j'utilise WDS pr déployer XPsp3 et Vista avec le wim. C'est vraiment efficace.
Mais je souhaite intégrer sysprep et wimen cas de déploiement d'urgence sur un autre site.
Merci d'avance
|
Alors j'ai deux script vbs et des batch, les voici :
Tout d'abord, j'ai une série de batch dans ce genre :
Code :
- REM Appel du script pour ghoster le PC
- REM le premier argument est pour les partitions (A = ALL, C = que le C:, D = C: + D:)
- REM le second argument est le nom de l'image à appliquer, elle devra etre dans \\S-AGRI-BOWIS\support$\PCSUPPORT\images-xp\AIK\Images
- cscript .\script\space_disk_new.vbs A agrisp3.wim
- if %errorlevel% EQU 0 goto batch ELSE goto error
- REM lancement du batch de restauration
- :batch
- %temp%\batch.cmd
- :error
- menu
|
Pour utiliser les vbs avec un winpe, il faut modifier ce dernier pour qu'il supporte le vbs
Le premier script demande un login, un mot de passe et le computername.
Ce vbs va lancer une commande de partitionnement et de formatage des partitions à l'aide de aefdisk32 que j'ai aussi inclu dans mon winpe
Ce vbs va aussi créer un fichier batch temporaire qui sera stocké sur le ramdisk créé par le winpe.
Ensuite, dès que l'image est appliqué, le batch lance le batch temporaire créé dans le ramdrive
Ce batch exécute la commande suivante donc : cscript.exe .\script\modif_sysprep.vbs " & bx & " " & login & " " & pass
Et voici le code du script qui modifie le fichier sysprep.inf
Code :
- Set objFSO = CreateObject("Scripting.FileSystemObject" )
- sysprep_file = "c:\sysprep\sysprep.inf"
- 'on ouvre le fichier sysprep en lecture
- Set objTextFile = objFSO.OpenTextFile (sysprep_file, 1)
- Dim ArgObj
- 'cet objet va contenir tous les paramètres passé en arguments au vbs
- Set ArgObj = WScript.Arguments
- 'Set countarg=WScript.Arguments.Count
- bx=ArgObj(0)
- login=ArgObj(1)
- login_pass=ArgObj(2)
- sysprep_content = Null
- Do Until objTextFile.AtEndOfStream
-
- Line = objTextFile.Readline
- 'création de la ligne contenant le computername
- If ucase(Left(Line,13)) = "COMPUTERNAME=" Then
- Line = "Computername=" & bx
- End If
- 'création de la ligne contenant le login qui insérera le pc dans le domaine
- If ucase(left(Line,17)) = "DOMAINADMIN=NET1\" Then
- Line = "DomainAdmin=net1\" & login
- End If
- 'création de la ligne contenant le password du login
- If ucase(left(Line,20)) = "DOMAINADMINPASSWORD=" Then
- Line = "DomainAdminPassword=" & login_pass
- End If
- 'chaque ligne du sysprep est mise dans une variable
- sysprep_content = sysprep_content & VbCrLf & Line
- Loop
- 'on ferme le fichier ouvert en lecture
- objTextFile.Close
- 'on ouvre le fichier sysprep en ecriture
- Set objTextFile = objFSO.OpenTextFile (sysprep_file, 2, True)
- 'on remplace le contenu par celui de la variable
- objTextFile.Write sysprep_content
- 'on ferme le fichier ouvert en écriture
- objTextFile.Close
|
Voila, j'espère que ca t'aidera |