Question
Récuperer sortie commande dans une variable
- Johan
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 57
- Remerciements reçus 0
il y a 17 ans 2 jours #4403
par Johan
Récuperer sortie commande dans une variable a été créé par Johan
Bonjour,
j'ai une fonction qui execute cette requête afin de rentré la configuration ip du DNS en DHCP:
[code:1]psexec \\$nomPC -u 'domaine/admin -p 'pass' -c -f \"\\serveur\chemin\dns.bat\"[/code:1]
Cette fonction s'execute quand je clic sur un boutton.
Dans la console PS s'affiche
[code:1]
PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com
\\serveur\chemin\dns.bat exited with error code 0.[/code:1]
Je voudrais récuperer le code erreur afin d'afficher à l'ecran si oui ou non la commande a réussie.
J'ai vu qu'on pouvais renvoyer la sortie de la commande dans un fichier mais c'est galère.
Ce n'est pas possible de renvoyer la sortie dans une variable et d'extraire le code erreur ?
Merci
j'ai une fonction qui execute cette requête afin de rentré la configuration ip du DNS en DHCP:
[code:1]psexec \\$nomPC -u 'domaine/admin -p 'pass' -c -f \"\\serveur\chemin\dns.bat\"[/code:1]
Cette fonction s'execute quand je clic sur un boutton.
Dans la console PS s'affiche
[code:1]
PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com
\\serveur\chemin\dns.bat exited with error code 0.[/code:1]
Je voudrais récuperer le code erreur afin d'afficher à l'ecran si oui ou non la commande a réussie.
J'ai vu qu'on pouvais renvoyer la sortie de la commande dans un fichier mais c'est galère.
Ce n'est pas possible de renvoyer la sortie dans une variable et d'extraire le code erreur ?
Merci
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 17 ans 2 jours #4404
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Récuperer sortie commande dans une variable
VashQuiRit écrit:

[code:1]
$files= cmd /c \"dir c:\temp\"
$files
$files[-1]
...
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 19/03/09 18:07
EssaieCe n'est pas possible de renvoyer la sortie dans une variable et d'extraire le code erreur ?
[code:1]
$files= cmd /c \"dir c:\temp\"
$files
$files[-1]
...
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 19/03/09 18:07
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Robin Lemesle
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 260
- Remerciements reçus 0
il y a 17 ans 1 jour #4406
par Robin Lemesle
Robin MVP PowerShell
Réponse de Robin Lemesle sur le sujet Re:Récuperer sortie commande dans une variable
Pour moi le plus simple c'est de faire comme laurent, mettre le resultat textuel dans une variable et traiter le contenu de cette variable, si elle contient le la phrase \"exited with error code 0\" => erreur sinon c'est bon :
[code:1]
if $files[-1].Contains(\"exited with error code 0\"«»)
{write-host \"Execusion réussie}
else{write-host \"Execusion non réussie}
[/code:1]
[code:1]
if $files[-1].Contains(\"exited with error code 0\"«»)
{write-host \"Execusion réussie}
else{write-host \"Execusion non réussie}
[/code:1]
Robin MVP PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 17 ans 1 jour #4407
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Récuperer sortie commande dans une variable
Bonjour VashQuiRit et bienvenue sur le forum 
Pour moi il existe une autre façon de faire; celle-ci consiste à récupérer la valeur du code de retour d'un exécutable Win32.
Cette valeur est en principe stockée dans la variable $LastExitCode. Ainsi si la variable vaut zéro c'est que l'exécution s'est bien déroulée.
Essaie un truc du genre :
[code:1]
psexec \\$nomPC -u 'domaine/admin -p 'pass' -c -f \"\\serveur\chemin\dns.bat\"
if ($LastExitCode -eq 0)
{
Write-Host \"Exécution réussie\"
}
else
{
Write-Host \"Un problème s'est produit !\"
}
[/code:1]
Tiens nous au courant,
Arnaud
Pour moi il existe une autre façon de faire; celle-ci consiste à récupérer la valeur du code de retour d'un exécutable Win32.
Cette valeur est en principe stockée dans la variable $LastExitCode. Ainsi si la variable vaut zéro c'est que l'exécution s'est bien déroulée.
Essaie un truc du genre :
[code:1]
psexec \\$nomPC -u 'domaine/admin -p 'pass' -c -f \"\\serveur\chemin\dns.bat\"
if ($LastExitCode -eq 0)
{
Write-Host \"Exécution réussie\"
}
else
{
Write-Host \"Un problème s'est produit !\"
}
[/code:1]
Tiens nous au courant,
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Johan
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 57
- Remerciements reçus 0
il y a 17 ans 1 jour #4415
par Johan
Réponse de Johan sur le sujet Re:Récuperer sortie commande dans une variable
J'ai utilisé la méthode de Arnaud et ca marche nickel merci =)
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.105 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Récuperer sortie commande dans une variable