Déployer .msi avec un .bat

Résolu/Fermé
reno732 Messages postés 222 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 13 mars 2016 - 16 déc. 2008 à 11:56
reno732 Messages postés 222 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 13 mars 2016 - 11 sept. 2015 à 13:49
Bonjour,

J'ai plusieurs logiciels à déployer sur un parc informatique important. Je souhaite dansun premier temps créer un .bat qui lance l'installation des .si situé sur l'emplacement réseau réseau partagé \\serveur\msi$ avec les droits de l'utilisateur admin du domaine domaine.lan et mdp comme mot de passe de l'utilisateur admin.

Je souhaite que l'installation des msi se fasse automatiquement sans interventions de l'utilisateur.

pour l'instant je débute avec la commande

runas /user:admin@domain.lan msiexec.exe -i \\serveur\msi$\application.msi

Je dispose de .msi et de .mst. En fait pour une partie du parc informatique, le prestataire habituel n'intervient pas mais je dispose des sources des toutes les applications qui sont normalement déployées l'OU gérée.


Merci d'avance.
A voir également:

2 réponses

reno732 Messages postés 222 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 13 mars 2016 90
16 déc. 2008 à 19:58
Donc pour la commande pour lancer l'installation c'est réussi :

start /wait msiexec /i "\\serveur\msi$\applications\applis.msi" /qn
start /wait msiexec /i "\\serveur\msi$\applications2\applis2.msi" /qn
...

J'ai aussi un problème de droits à résoudre :

Quelle option ajouter à RUNAS dans un domaine Active directory ?

Je souhaiterais tester si les programmes sont déjà installés avant de lancer ce script ...
0
Voila un code qui permettra de lancer la console (CMD) en admin : (fait par mes soins)

for /f "tokens=3*" %%i in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| Find "ProductName"') do set WINVER=%%i %%j
echo %WINVER% | find "XP" > nul && goto commands

if "%1" == "UAC" goto elevation
(
echo Set objShell = CreateObject^("Shell.Application"^)
echo Set objFSO = CreateObject^("Scripting.FileSystemObject"^)
echo strPath = objFSO.GetParentFolderName^(WScript.ScriptFullName^)
echo If objFSO.FileExists^("%~0"^) Then
echo objShell.ShellExecute "cmd.exe", "/c """"%~0"" UAC ""%~dp0""""", "", "runas", 1
echo Else
echo MsgBox "Script file not found"
echo End If
) > "%TEMP%\UAC.vbs"
cscript //nologo "%TEMP%\UAC.vbs"
goto :eof
:elevation
del /q "%TEMP%\UAC.vbs"

:commands
%~d2

cd "%~p2"
0
reno732 Messages postés 222 Date d'inscription mardi 3 juillet 2007 Statut Membre Dernière intervention 13 mars 2016 90
Modifié par reno732 le 11/09/2015 à 13:51
Merci en plus c'est élégant if "%1" == "UAC" goto elevation , je teste.
0