web-dev-qa-db-fra.com

Installer le logiciel à l'aide du script PowerShell

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?

3
kiran n

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 
  }
}
1
MattMoo

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.

1
coinbird