Déployer .msi avec un .bat

Résolu
reno732 Messages postés 222 Date d'inscription   Statut Membre Dernière intervention   -  
reno732 Messages postés 222 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   90
 
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
Redstoner26
 
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   Statut Membre Dernière intervention   90
 
Merci en plus c'est élégant if "%1" == "UAC" goto elevation , je teste.
0