J'essaie d'installer le logiciel Notepad ++ à l'aide d'un script PowerShell v2.0 pour l'un de mes POC. J'ai besoin d'installer le logiciel du client dans mon projet actuel. Pendant que j'exécute le script ci-dessous, je reçois des erreurs.
Start-Process 'C:\Users\kirnen\Desktop\A\npp.7.5.Installer.exe'-InstallerParameters "/S" `
-RegistryKey HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Notepad++ `
-RegistryName DisplayVersion -RegistryValue 7.5
Étant donné que je suis très novice en matière de scripts PowerShell, pouvez-vous nous aider à ce sujet? Le code ci-dessus est-il correct ou dois-je changer autre chose pour installer le logiciel?
J'utilise cet extrait de code PowerShell pour de nombreuses installations. Tant que vous pouvez comprendre le commutateur silencieux pour ".exe". Pour les ".msi", changez simplement où Create()
avec Create("msiexec /I C:\temp\generic.msi /qn")
$computers = c:\temp\computerName.csv
$Notepad = "Location of notepad install"
$computers | where{test-connection $_ -quiet -count 1} | ForEach-Object {
copy-item $Notepad -recurse "\\$_\c$\temp"
$newProc=([WMICLASS]"\\$_\root\cimv2:win32_Process").Create("C:\temp\npp.6.9.2.Installer.exe /S")
If ($newProc.ReturnValue -eq 0) {
Write-Host $_ $newProc.ProcessId
} else {
write-Host $_ Process create failed with $newProc.ReturnValue
}
}
Il existe plusieurs façons de procéder. La façon dont vous le faites est très bien, mais je ne pense pas que vous vouliez vraiment tous ces paramètres d'installation.
Start-Process 'C:\Users\kirnen\Desktop\A\npp.7.5.Installer.exe' "/S"
Le /S
part signifie que vous voulez une installation silencieuse, vous ne verrez donc pas d'assistant d'installation et vous ne pourrez pas choisir d'options. Pas une mauvaise chose, assurez-vous simplement que c'est ce que vous voulez. Enlevez le "/S"
si vous souhaitez suivre l'assistant d'installation graphique.
Au lieu de Start-Process
vous pouvez aussi utiliser cmd /c
et juste &
. Ceux-ci ont leurs avantages et leurs inconvénients. Restez avec Start-Process
pour l'instant.
Une dernière chose, avec de nombreux fichiers .exe, vous pouvez les suivre avec /help
ou /?
pour obtenir la liste de leurs commutateurs de ligne de commande.