Powershell - Différence entre $? et $LASTEXITCODE
Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub ou encore faire un don. Merci!
Bonjour,
Un nouvel article Powershell sur la différence entre les variables automatiques $? et $LASTEXITCODE
$LASTEXITCODE contient le code de sortie du dernier programme natif qui a été exécuté (0 indiquant que tout s’est bien déroulé, une autre valeur indique un problème)
$? contient le statut réussite/échec de la dernière déclaration (programme natif ou Powershell) : $true ou $false
Démonstration avec le code suivant :
# Sélectionnez et exécutez tout le code# Test commande native OK$null = ping localhost -n 1"Commande native OK `$? {0,15} " -f $?"Commande native OK `$LASTEXITCODE {0} " -f $LASTEXITCODE
# Test commande native KO$null = ping demo -n 1"Commande native KO `$? {0,16} " -f $?"Commande native KO `$LASTEXITCODE {0} " -f $LASTEXITCODE
# Test commande Powershell OK$null = Test-Connection localhost -Count 1"Commande Powershell OK `$? {0,15} " -f $?"Commande Powershell OK `$LASTEXITCODE {0} " -f $LASTEXITCODE
# Test commande Powershell KO$null = Test-Connection demo -Count 1 -ErrorAction SilentlyContinue"Commande Powershell KO `$?{0,17} " -f $?"Commande Powershell KO `$LASTEXITCODE {0} " -f $LASTEXITCODE
On voit apparaître : Commande Powershell OK $LASTEXITCODE 1
$LASTEXITCODE n’a pas été modifié dans le cas de la commande Powershell, la valeur 1 étant le code de sortie de ping demo -n 1.
Je ne peux donc pas utiliser $LASTEXITCODE pour vérifier la bonne exécution d’une commande Powershell, uniquement les commandes natives.
$? Réagit correctement pour les commandes natives et Powershell.
Liens en relation
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Tester la connectivité réseau et l'accessibilité aux ports avec PowershellPowershell - Afficher les connections réseau (équivalent de netstat)
Afficher les connections réseau (ports en écoute, connections actives...)Powershell - Tester la résolution de nom (équivalent de nslookup)
Commandes Powershell permettant de tester la résolution de nom (équivalent de nslookup)Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Commandes Powershell permettant d'afficher et de gérer la configuration DNS des interfaces réseauPowershell - Gérer la configuration IP des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier la configuration IP des interfaces réseauPowershell - Gérer l'état et la configuration des interfaces réseau
Commandes Powershell permettant d'afficher et de modifier l'état et la configuration des interfaces réseau (désactiver l'IPv6, activer/désactiver une interface)
Suivez-moi sur
Soutenez-moi
Contenu récent
Powershell - Tester la connectivité réseau et l'accessibilité aux ports
Powershell - Afficher les connections réseau (équivalent de netstat)
Powershell - Tester la résolution de nom (équivalent de nslookup)
Powershell - Afficher et gérer la configuration DNS des interfaces réseau
Powershell - Gérer la configuration IP des interfaces réseau
Powershell - Gérer l'état et la configuration des interfaces réseau
Powershell et le left hand side
Powershell - Gérer les disques, les partitions et les volumes
Powershell - Gérer les points de restauration système sous Windows