Salut, je suis un nouveau venu chez Powershell, mais j'ai une question à vous poser. Je veux être en mesure de dire si une commande s'est terminée avec succès afin que je puisse donner des messages significatifs à l'hôte.Déterminer si une commande Powershell a été réussie
J'utilise la commande appcmd
pour ajouter une liaison dans IIS. Pour l'essentiel qui va comme suit:
./appcmd set site /site.name:........................
Mais comment puis-je faire une vérification pour assurer qu'il a réussi ou non?
Je pense que si je mets juste Write-Host "Successfully added binding"
après cette déclaration, il se déclenchera après que le appcmd
ait été réussi.
Je devine que je dois faire quelque chose comme:
$successful = ./appcmd set site /site.name:........................
mais $successful
semble être une chaîne contenant le résultat msg?
Reconnaissant toute aide à ce sujet! Bravo
merci pour la réponse. Donc, je suppose que «$?» Et «$ LastExitCode» sont relatifs? Supposons que j'exécute ce (ou un autre) cmd dans le script - ces vars sont relatifs à la dernière commande qui a été exécutée? – baron
Exactement. '$?' s'applique à toutes les exécutions de commandes. Il indique le succès de la commande la plus précédente. Notez que les erreurs qui ne se terminent pas (Get-ChildItem idontexist) entraînent toujours un '$?' Retournant true. Si une commande renvoie une erreur de fin, alors $ $ renvoie $ false. Si nécessaire, vous pouvez forcer une commande à convertir une erreur sans fin en une erreur de fin en utilisant le paramètre omniprésent '-ErrorAction Stop'. '$ LastExitCode' contient le code de sortie du dernier EXE exécuté. –