Bonjour à tous,

Je dois me lancer et créer un script pour ma société qui permet d'installer des logiciels s'ils ne sont pas présents, via GPO.

J'ai donc bidouillé pour créer ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$ListeProgrammes=Get-WmiObject -Class Win32_Product | Select-Object -Property Name
$ListeProgrammesD=gp HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* |Select DisplayName, DisplayVersion, Publisher, InstallDate, HelpLink, UninstallString


if ($ListeProgrammes -match "CCleaner") {
	"CCleaner est installé"
} elseif ($ListeProgrammesD -match "CCleaner") {
	"CCleaner est installé"
} else {
	"CCleaner n'est pas présent, installation en cours"
	$Path="K:\Install\prog"
	$Parametre ="/S EULA_ACCEPT=YES /L=1036"
	$Executable="$Path\ccsetup406.exe"
	start-process $Executable $Parametre 
}

if ($ListeProgrammes -match "Adobe Reader") {
	"Adobe Reader est installé"
} elseif ($ListeProgrammesD -match "Adobe Reader") {
	"Adobe Reader est installé"
} else {
	"Adobe Reader n'est pas présent, installation en cours"
	$Path="K:\Install\prog"
	$Parametre ="/msi EULA_ACCEPT=YES /qn"
	$Executable="$Path\AdbeRdr11001_fr_FR.exe"
	start-process $Executable $Parametre 
}
Pas de soucis pour le $Path, il est ok, le K est mappé sur tous les postes.

Le script fonctionne lorsque je l'exécute depuis powershell...

Plusieurs soucis se posent alors, sur lesquels je sèche pas mal...

  • Quel moyen de vérifier la présence d'un soft plus rapide que ce que je fais?
  • Comment procéder aux installations alors que les utilisateurs n'ont aucun droit administrateur sur leur poste?
  • EULA_ACCEPT=YES ne devrait-il pas nous permettre d'esquiver la demande de l'UAC? Edit : Au temps pour moi, j'ai vu que c'était l'accord de licence.



Merci par avance pour l'aide que vous pourrez m'apporter

xakan.