Comment puis-je faire PowerShell attendre jusqu'à ce qu'une commande est complète avant de procéder?
Je suis en utilisant la ligne suivante pour désinstaller office 2007 sur la base de ses ID de Produit
Start-Process C:\Windows\System32\msiexec.exe -ArgumentList "/uninstall {90120000-0030-0000-0000-0000000FF1CE}"
Je voudrais forcer un redémarrage après la désinstallation est terminée toutefois, l'utilisation d'-Attendre ou de la tuyauterie les résultats à la valeur Null n'attendez pas jusqu'à ce que la désinstallation est terminée avant le traitement de la ligne suivante qui est un redémarrage. J'ai aussi essayé en utilisant cmd, afin de désinstaller, mais avec le même résultat.
cmd /c "msiexec.exe /uninstall {90120000-0030-0000-0000-0000000FF1CE}"
Est-il de toute façon à force de powershell pour attendre jusqu'à ce que la désinstallation est terminée avant de traiter le Redémarrage de l'Ordinateur de commande? Je pensais éventuellement écrire quelque chose qui détecte lorsque le setup.exe le processus s'arrête avant de procéder à la reprise?
Start-Process -Wait
?Pourriez-vous utiliser msiexec de
/forcerestart
option dans ce cas?Matt - Qui a fait le tour, à l'aide de
cmd /c "msiexec.exe /uninstall {{90120000-0030-0000-0000-0000000FF1CE} /forcerestart"
j'ai mis à jour ma réponse à inclure votre solution si vous n'avez pas l'esprit
OriginalL'auteur J W | 2014-10-21
Vous devez vous connecter pour publier un commentaire.
Start-Processus a une attente paramètre:
La solution pour redémarrer après un
misexec.exe
de désinstallation est d'ajouter la/forcerestart
paramètre à la commande msiexec appel, au lieu d'essayer de redémarrer en powershell (Crédits à Matt):OriginalL'auteur Paul
Ma suggestion pour cela est d'obtenir effectivement le Bureau de l'Outil de Suppression de Microsoft et d'en extraire le script VBS. Exécuter que dans une Start-Processus-de l'attendre argument, et de le redémarrer par la suite. Il permettra non seulement de tenter de supprimer normalement Bureau avec msiexec comme vous le faites, il va également revenir en arrière et de nettoyer toute la traîne des fichiers ou entrées de registre dans le cas où l'application est endommagée et ne désinstalle pas bien.
OriginalL'auteur TheMadTechnician