Question
erreur sur else
- pulx
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 31
- Remerciements reçus 0
j'ai un soucie avec mon else il me renvoie et je ne voie pas ou est le problème pouvez vous m'aider
j'ai ça me manque t'il un fin de si ou autre pour qu'il prenne en compte mon if ??
If ((Test-Connection -computer $Computer -quiet) -eq \"TRUE\")
{mes commandes}
else
{echo \"Le controleur de domain n'est pas joignable\"}
Le terme « else » n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme exécutable
. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessaye
z.
Au niveau de ligne : 1 Caractère : 5
+ else <<<<
+ CategoryInfo : ObjectNotFound: (else:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
- Messages : 968
- Remerciements reçus 0
[code:1]If ((Test-Connection -computer $Computer -quiet) -eq \"TRUE\")[/code:1]
\"TRUE\" en PowerShell s'écrit $True( et \"FALSE\" $False).
Dans le cas de ce test, il n'est pas utile de préciser \"-eq $true\" car le Cmdlet Test-Connection renverra de toute façon $true ou $false.
Ainsi
[code:1]if($true){
Mon code
}[/code:1]
est toujours vrai.
Dans ton cas, le test sera conditionné à la valeur retournée par Test-Connection : $true ou $false.
Aussi, avec un Test-Connection, je te conseil d'ajouter le paramètre -count à 1, pour n'envoyer qu'un seul paquet à destination de la machine. Sinon, cela prendre plus de temps (4 paquets par défaut), et finalement, cela ne sert à rien de perdre plus de temps : si le premier paquet n'est pas passé (pas de réponse du serveur) alors cela ne sert à rien de transmettre encore 3 autres paquets.
Aussi, préfères la notation suivante :
[code:1]
If (Test-Connection -computer $Computer -Count 1 -quiet){
mes commandes
}
else{
Write-Output \"Le controleur de domain n'est pas joignable\"
}
[/code:1]
Pense à bien indenter (les espaces et tabulations) ton code et à ne pas mettre de retour chariot entre la fermeture du bloc if et le else...
@ +
Matthew<br><br>Message édité par: Matthew BETTON, à: 21/06/12 20:38
Connexion ou Créer un compte pour participer à la conversation.
- pulx
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 31
- Remerciements reçus 0
j'ai pas encore l'habitude d'indenter ce n'est pas facile mais je vais y arriver
pour l'erreur j'ai toujours pas compris pourquoi chez toi ça marche et chez moi non ?
pour le ping ok effectivement cela me parait plus claire par contre si le serveur répond au premier et pas au second ce qui arrive régulièrement ça pause un petit problème je vais le mettre sur 2
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
- Messages : 968
- Remerciements reçus 0
merci
You are welcome.
j'ai pas encore l'habitude d'indenter ce n'est pas facile mais je vais y arriver
C'est écrit en haut à droite, parfois, et c'est Heinstein qui l'a dit : La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information
pour l'erreur j'ai toujours pas compris pourquoi chez toi ça marche et chez moi non ?
Moi non plus : nous donnes-tu vraiment tout ton code ?
pour le ping ok effectivement cela me parait plus claire par contre si le serveur répond au premier et pas au second ce qui arrive régulièrement ça pause un petit problème je vais le mettre sur 2
Je retire ce que j'ai dit précédemment... Mais dans ce cas pourquoi pas 3 ou 4.
Le serveur peut aussi être arrêté pendant le traitement, après le Test-Connection...<br><br>Message édité par: Matthew BETTON, à: 21/06/12 21:15
Connexion ou Créer un compte pour participer à la conversation.
- pulx
- Auteur du sujet
- Hors Ligne
- Membre junior
-
- Messages : 31
- Remerciements reçus 0
aprés je veux pinger les contrôleurs de domaine de mon client mais alors je ne sais pas encore comment extraire les ip des dns du client afin de m'en servir dans mon code
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
- Messages : 492
- Remerciements reçus 0
Car dans le premier cas tu peux chercher dans les classe WMI NetworkInterface (pas sur du nom) et dans le deuxième cas, bah tu n'as pas besoin de l'ip, le nom netbios devrait te suffire (sauf si cross domain, ou des réseaux nattés, etc...)
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- erreur sur else