Exécutez MsiExec à partir de PowerShell et obtenir Code de Retour
Avec BAT/CMD
script, je peux simplement utiliser "msiexec /i <whatever.msi> /quiet /norestart"
et de vérifier ensuite %errorlevel%
pour le résultat.
Avec VBScript
, à l'aide de la Wscript.Shell
objet Run()
méthode, je peux obtenir le résultat comme ceci:
"result = oShell.Run("msiexec /i ...", 1, True)"
Comment puis-je faire cela avec PowerShell?
- tout échantillon avec l'intégralité du code source ?
Vous devez vous connecter pour publier un commentaire.
Je tourne que dans des Start-traiter et utiliser les ExitCode de la propriété résultant de l'objet de processus. Par exemple
-ArgumentList " '$arg1\ with spaces\' arg2"
vous pouvez virgule pour séparer plusieurs arguments-ArgumentList "$arg1\ with spaces\", arg2
, une fois qu'il cesse de trouver des virgules PowerShell suppose la prochaine est une autre de position argument ou si quelque chose comme-Wait
il vient de reprendre le traitement de la arguments nommés.ou
en fonction de ce que vous êtes après. Le premier est un entier, le deuxième a juste un booléen. En outre,
$LastExitCode
n'est renseigné que pour les programmes en cours d'exécution, tandis que$?
généralement indique si la dernière commande exécutée a été un succès ou pas si il sera également créé pour les applets de commande.Vous pouvez également utiliser le powershell app kit de déploiement qui fournit plusieurs choses.
Ensuite, vous pouvez utiliser, par exemple,