Question
[Résolu] Arrêter une suite de services
- Ygnobl
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 14 ans 9 mois #9760
par Ygnobl
[Résolu] Arrêter une suite de services a été créé par Ygnobl
Bonjour, je découvre powershell, aussi ai-je quelques problèmes avec mon premier script.
Ayant besoin d'arrêter un certain nombre de services afin d'économiser des ressources pour lancer un programme, j'ai créé un script pour :
[code:1]Svc_1
Svc_2
...[/code:1]
et le code du script est :
[code:1]clear
Get-Content .\services.txt|ForEach-object{
stop-service $_
}
start \"C:\Program Files\chemin\prog.exe\" -wait
clear
Get-Content .\services.txt|ForEach-object{
start-service $_
}
[/code:1]
J'oubliais, les erreurs que j'obtiens sont les suivantes :
[code:1]'Get-Content' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.[/code:1]
Or, clear fonctionne depuis la ligne de commande et lorsque je lance un [code:1]Get-Content -Path .\servicdes.txt |ForEach-Object {write $_}[/code:1]j'obtiens ma liste de services sous la forme[code:1]Svc_1
Svc_2
...[/code:1]. Quelle erreur ai-je pu commettre ?
Merci
Message édité par: ygnobl, à: 8/06/11 19:45<br><br>Message édité par: ygnobl, à: 3/08/11 10:38
Ayant besoin d'arrêter un certain nombre de services afin d'économiser des ressources pour lancer un programme, j'ai créé un script pour :
- boucler sur la liste des services à stopper
- lancer le programme nécessitant l'arrêt des services et attendre
- reboucler sur la liste des services pour les relancer
[code:1]Svc_1
Svc_2
...[/code:1]
et le code du script est :
[code:1]clear
Get-Content .\services.txt|ForEach-object{
stop-service $_
}
start \"C:\Program Files\chemin\prog.exe\" -wait
clear
Get-Content .\services.txt|ForEach-object{
start-service $_
}
[/code:1]
J'oubliais, les erreurs que j'obtiens sont les suivantes :
[code:1]'Get-Content' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.[/code:1]
Or, clear fonctionne depuis la ligne de commande et lorsque je lance un [code:1]Get-Content -Path .\servicdes.txt |ForEach-Object {write $_}[/code:1]j'obtiens ma liste de services sous la forme[code:1]Svc_1
Svc_2
...[/code:1]. Quelle erreur ai-je pu commettre ?
Merci
Message édité par: ygnobl, à: 8/06/11 19:45<br><br>Message édité par: ygnobl, à: 3/08/11 10:38
Connexion ou Créer un compte pour participer à la conversation.
- Ygnobl
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 14 ans 9 mois #9762
par Ygnobl
Réponse de Ygnobl sur le sujet Re:Arrêter une suite de services
Rebonsoir, je me réponds pour vous faire part de mes derniers tests :
En m'appuyant sur le sujet suivant, j'ai modifié le script de la sorte :[code:1]$tableau = New-Object System.Collections.ArrayList
$tableau = Get-Content -Path .\servicdes.txt
start prog.exe
ForEach-object($tableau){start-service $_}[/code:1]
J'ai toujours des erreurs pour clear et ForEach, et de plus une boite de dialogue m'annonçant que
Merci d'avance.
En m'appuyant sur le sujet suivant, j'ai modifié le script de la sorte :[code:1]$tableau = New-Object System.Collections.ArrayList
$tableau = Get-Content -Path .\servicdes.txt
start prog.exe
ForEach-object($tableau){start-service $_}[/code:1]
J'ai toujours des erreurs pour clear et ForEach, et de plus une boite de dialogue m'annonçant que
Windows ne trouve pas '-wait'. vérifiez que vous avez rentré le nom correct, puis réessayez.
Merci d'avance.
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 14 ans 9 mois #9774
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Arrêter une suite de services
Salut,
j'ai un peu de mal à comprendre ton pb, ceci dit ce code ne fait pas ce que tu penses qu'il fait :
[code:1]
#Crée une structure de données de type arraylist
$tableau = New-Object System.Collections.ArrayList
#Ecrase la structure précédente avec un tableau d'objet
$tableau = Get-Content -Path .\servicdes.txt
[/code:1]
et celui là m'interpelle :
[code:1]
ForEach-object($tableau){start-service $_}
[/code:1]
j'ai un peu de mal à comprendre ton pb, ceci dit ce code ne fait pas ce que tu penses qu'il fait :
[code:1]
#Crée une structure de données de type arraylist
$tableau = New-Object System.Collections.ArrayList
#Ecrase la structure précédente avec un tableau d'objet
$tableau = Get-Content -Path .\servicdes.txt
[/code:1]
et celui là m'interpelle :
[code:1]
ForEach-object($tableau){start-service $_}
[/code:1]
Tutoriels PowerShell
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 14 ans 9 mois #9776
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:Arrêter une suite de services
Bonjour,
Tu utilises la cmdlet ForEach-Object pour bloucler sur ta liste. Je suis d'accord, sauf que c'est une cmdlet qui, pour faire simple, doit se trouver derrière un pipeline.
Donc le code tiendrait plus de cette forme :
[code:1]Get-Content -Path .\servicdes.txt | Foreach-Object {<action>}[/code:1]
Maintenant parlons de l'action que tu veux réaliser.
Tu nous dis que tu veux arrêter tes services; Or dans ton exemple de code tu démarres les services.
Donc je serais plus d'avis d'utiliser :
[code:1]Stop-Service <NomDeTonService>[/code:1]
J'espère que cela te permettra d'avancer.
Bien Cordialement,
Richard Lazaro.
Tu utilises la cmdlet ForEach-Object pour bloucler sur ta liste. Je suis d'accord, sauf que c'est une cmdlet qui, pour faire simple, doit se trouver derrière un pipeline.
Donc le code tiendrait plus de cette forme :
[code:1]Get-Content -Path .\servicdes.txt | Foreach-Object {<action>}[/code:1]
Maintenant parlons de l'action que tu veux réaliser.
Tu nous dis que tu veux arrêter tes services; Or dans ton exemple de code tu démarres les services.
Donc je serais plus d'avis d'utiliser :
[code:1]Stop-Service <NomDeTonService>[/code:1]
J'espère que cela te permettra d'avancer.
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.
- Ygnobl
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 14 ans 7 mois #9984
par Ygnobl
Réponse de Ygnobl sur le sujet Re:Arrêter une suite de services
Bonjour, merci et désolé d'avoir mis tant de temps,mais je suis malade ces temps-ci. Après avoir testé, je vous remercie bien volontiers, je n'ai plus qu'à ordonner mes listes de services pour éviter les erreurs de dépendances. (Stop-Service : Impossible d'arrêter le service « service », car d'autres services en
dépendent. Il peut être arrêté uniquement si l'indicateur Force est défini.)
dépendent. Il peut être arrêté uniquement si l'indicateur Force est défini.)
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.042 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Arrêter une suite de services