Question
if else : même résultat ...
- ZOKI
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 13 ans 7 mois #12762
par ZOKI
if else : même résultat ... a été créé par ZOKI
Bonjour.
je ne comprends pas pourquoi cela ne fonctionne pas.
mon fichier c:\serv.ini contient le nom des services que je souhaite arrêter.
au départ ils sont tous lancés.
donc première exécution :
AVERTISSEMENT:Arrêt du service
AVERTISSEMENT:Arrêt du service
AVERTISSEMENT:Arrêt du service
je me dis \"cool\".
mais après l’arrêt si je relance le script, même résultat !!!
AVERTISSEMENT:Arrêt du service
AVERTISSEMENT:Arrêt du service
AVERTISSEMENT:Arrêt du service
je me dis \"pas cool\" ....
voici le code
$list = get-content c:\serv.ini
foreach ($name in $list)
{
if ($name.status -eq \"running\")
{
Write-Warning \"Le service $name est déjà arrêté\"
}
else
{
Write-Warning \"Arrêt du service $service\"
Stop-Service $list -Force
}
}
je ne vois pas, si vous pouvez éclairer mon chemin de vos lumières. Par avance, merci.
je ne comprends pas pourquoi cela ne fonctionne pas.
mon fichier c:\serv.ini contient le nom des services que je souhaite arrêter.
au départ ils sont tous lancés.
donc première exécution :
AVERTISSEMENT:Arrêt du service
AVERTISSEMENT:Arrêt du service
AVERTISSEMENT:Arrêt du service
je me dis \"cool\".
mais après l’arrêt si je relance le script, même résultat !!!
AVERTISSEMENT:Arrêt du service
AVERTISSEMENT:Arrêt du service
AVERTISSEMENT:Arrêt du service
je me dis \"pas cool\" ....
voici le code
$list = get-content c:\serv.ini
foreach ($name in $list)
{
if ($name.status -eq \"running\")
{
Write-Warning \"Le service $name est déjà arrêté\"
}
else
{
Write-Warning \"Arrêt du service $service\"
Stop-Service $list -Force
}
}
je ne vois pas, si vous pouvez éclairer mon chemin de vos lumières. Par avance, merci.
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 13 ans 7 mois #12763
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:if else : même résultat ...
Bonjour pourais tu fournir un exemple de ton fichier ?
lors de ton stop service, tu utilise la varaible $liste au lieu du $name.
Par ailleurs, tu fais un Get-Content sur ton C:\serv.ini mais derrière tu utilise le modèle objet dans le foreach $name.status.
Il faudrait impérativement un exemple de ton fichier d'ini.
Bien Cordialement,
Richard Lazaro.
lors de ton stop service, tu utilise la varaible $liste au lieu du $name.
Par ailleurs, tu fais un Get-Content sur ton C:\serv.ini mais derrière tu utilise le modèle objet dans le foreach $name.status.
Il faudrait impérativement un exemple de ton fichier d'ini.
Bien Cordialement,
Richard Lazaro.
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- ZOKI
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 13 ans 7 mois #12764
par ZOKI
Réponse de ZOKI sur le sujet Re:if else : même résultat ...
bonjour
le fichier ini ne contient que les services que je souhaite arrêter mais voici son contenu
axidbsafe
axilognotifier
firebird2.5
merci
le fichier ini ne contient que les services que je souhaite arrêter mais voici son contenu
axidbsafe
axilognotifier
firebird2.5
merci
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 13 ans 7 mois #12765
par SiSMik
Réponse de SiSMik sur le sujet Re:if else : même résultat ...
Bonjour,
Dans ta boucle, au niveau de la condition if, tu fais un test sur le status du service, et déclenches une action en conséquence, il faudrait peut $etre dans ce cas récupérer en amont un objet qui contient ces propriétés.
De plus dans ton if, tu conditionnes ta première action en vérifiant si le statut est à Running et en retour tu dis que le service est bien arrêté...
Y'a un bug là
Exemple:
[code:1]$ListService = Get-Content c:\serv.ini
Foreach ($Service in $ListService {
$Serv = Get-Service | Where { $_.name -eq $Service }
if ($Serv.status -ne \"running\"«») {
Write-Warning \"Le service $name est déjà arrêté\"
}
else {
Write-Warning \"Arrêt du service $service\"
Stop-Service $Service -Force
}
}
[/code:1]
Une idée de départ
<br><br>Message édité par: benduru, à: 25/09/12 09:51
Dans ta boucle, au niveau de la condition if, tu fais un test sur le status du service, et déclenches une action en conséquence, il faudrait peut $etre dans ce cas récupérer en amont un objet qui contient ces propriétés.
De plus dans ton if, tu conditionnes ta première action en vérifiant si le statut est à Running et en retour tu dis que le service est bien arrêté...
Y'a un bug là
Exemple:
[code:1]$ListService = Get-Content c:\serv.ini
Foreach ($Service in $ListService {
$Serv = Get-Service | Where { $_.name -eq $Service }
if ($Serv.status -ne \"running\"«») {
Write-Warning \"Le service $name est déjà arrêté\"
}
else {
Write-Warning \"Arrêt du service $service\"
Stop-Service $Service -Force
}
}
[/code:1]
Une idée de départ
Connexion ou Créer un compte pour participer à la conversation.
- ZOKI
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 13 ans 7 mois #12769
par ZOKI
Réponse de ZOKI sur le sujet [résolu] Re:if else : même résultat ...
Merci Benduru pour ces explications.
Cela parait si facile mais face à la page blanche...
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.038 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- if else : même résultat ...