Bonjour,
Je vous présente la situation.
J'ai 3 fichiers : appli.bat, appli.msi, appli.vbs
Appli.bat permet de lancer l'installation globale qui consiste à appeler appli.msi et quand celui-ci à terminer, le bat appelle le vbs.
Le MSI copie des fichiers dans C:\Windows. OK
Ensuite, le Vbs, lance l'application qui a été installé pour permettre à celle-ci de créer un fichier XML.
L'application se ferme, et le VBS donne les droits de lecture et écriture au groupe "tout le monde" sur un répertoire et un fichier précis dans C:\Windows.
Cela fonctionne également.
En revanche ce qui me surpend, c'est que le vbs se lance en boucle même si je l'exécute manuellement. Et là, ça s'emballe au point de devoir forcer le redémarrage du poste.
Voici le script VBS :
Code :
- On error resume Next
- Dim WshShell, Group_Name
- SMC_Dlg_path = "C:\Windows\SMC_Dlg.exe"
- Stop_Process = "%COMSPEC% /c Echo Y| taskkill /IM SMC_Dlg.exe /T /F"
- Set WshShell = CreateObject("WScript.Shell" )
- BTL_directory = "C:\Windows\BTL"
- MCS6_file = "C:\Windows\MCS6xx32.xml"
- strComputer="."
- Set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2" )
- Set colItems = objWMI.ExecQuery("SELECT * FROM Win32_Account Where SID = 'S-1-1-0'" )
- For Each objItem in colItems
- Group_Name = Group_Name & objItem.Name
- Next
- WshShell.run SMC_Dlg_path, 5
- wscript.sleep 4000
- WshShell.run Stop_Process
- wscript.sleep 1000
- WshShell.Run("%COMSPEC% /k Echo Y| CACLS " & BTL_directory & " /T /C /G " & chr(34) & Group_Name & chr(34) & ":c" )
- wscript.sleep 3000
- WshShell.Run("%COMSPEC% /k Echo Y| CACLS " & MCS6_file & " /T /C /G " & chr(34) & Group_Name & chr(34) & ":c" )
- wscript.sleep 10000
- Set WshShell = nothing
|
Le problème se passe lorsque le script arrive sur les lignes surlignées.
Message édité par slr56 le 11-02-2011 à 15:00:36