Question
Get-Service Status colorier
- exca
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 17 ans 4 mois #3258
par exca
Get-Service Status colorier a été créé par exca
Bonjour
J'essai de faire un truc tout bête mais je vois pas trop
Je voudrais afficher le status d'un service mais d'une certaine couleur en fonction de sa valeur
Ca donnnerait un truc du genre :
[code:1]Get-Service('machine1') IISADMIN |if ( $_.status -eq \"stopped\"«») {Write-Host $_.name $_.status -ForegroundColor red} elseif ( $_.status -eq \"running\"«») {Write-Host $_.name $_.status -ForegroundColor green}[/code:1]
Bon le \"if\" apres le \"|\" ca passe pas mais y doit bien exister un truc non ?
Merci
J'essai de faire un truc tout bête mais je vois pas trop
Je voudrais afficher le status d'un service mais d'une certaine couleur en fonction de sa valeur
Ca donnnerait un truc du genre :
[code:1]Get-Service('machine1') IISADMIN |if ( $_.status -eq \"stopped\"«») {Write-Host $_.name $_.status -ForegroundColor red} elseif ( $_.status -eq \"running\"«») {Write-Host $_.name $_.status -ForegroundColor green}[/code:1]
Bon le \"if\" apres le \"|\" ca passe pas mais y doit bien exister un truc non ?
Merci
Connexion ou Créer un compte pour participer à la conversation.
- exca
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 17 ans 4 mois #3259
par exca
Réponse de exca sur le sujet Re:Get-Service Status colorier
Ah visiblement il faudrait aussi \"invoke-expression \" devant la commande pour check le status d'un service sur une machine distante, c'est bien ca ?
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 4 mois #3260
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Get-Service Status colorier
Salut,
exca écrit:
[code:1]Get-Service |% {if ( $_.status -eq \"stopped\"«») {Write-Host $_.name $_.status -ForegroundColor red} elseif ( $_.status -eq \"running\"«») {Write-Host $_.name $_.status -ForegroundColor green} }[/code:1]
ou dans un filtre :
[code:1]
filter Coloriser{
Write-Host (\"{0} \"-F $_.name) -noNewLine
Switch ($_.status){
\"stopped\" { $color=[System.ConsoleColor]::Red}
\"running\" { $color=[System.ConsoleColor]::Green }
#Default {$color=[System.ConsoleColor]::«»Gray}
}
Write-Host $_.status -ForegroundColor $Color
}
get-service -computername Server01 -inc \"IISADMIN\" |Coloriser
[/code:1]
Verifie si en utilisant WMI ce n'est pas plus rapide.
Voir aussi :
laurent-dardenne.developpez.com/articles...werShell/Pipelining/
Message édité par: Laurent Dardenne, à: 18/11/08 17:39
exca écrit:
Le truc est que le pipeline ne peut pas exécuter des instructions directement, il faut les inclure dans un scriptbloc, un foreach par exemple :Bon le \"if\" apres le \"|\" ca passe pas mais y doit bien exister un truc non ?
[code:1]Get-Service |% {if ( $_.status -eq \"stopped\"«») {Write-Host $_.name $_.status -ForegroundColor red} elseif ( $_.status -eq \"running\"«») {Write-Host $_.name $_.status -ForegroundColor green} }[/code:1]
ou dans un filtre :
[code:1]
filter Coloriser{
Write-Host (\"{0} \"-F $_.name) -noNewLine
Switch ($_.status){
\"stopped\" { $color=[System.ConsoleColor]::Red}
\"running\" { $color=[System.ConsoleColor]::Green }
#Default {$color=[System.ConsoleColor]::«»Gray}
}
Write-Host $_.status -ForegroundColor $Color
}
get-service -computername Server01 -inc \"IISADMIN\" |Coloriser
[/code:1]
Verifie si en utilisant WMI ce n'est pas plus rapide.
Voir aussi :
laurent-dardenne.developpez.com/articles...werShell/Pipelining/
Message édité par: Laurent Dardenne, à: 18/11/08 17:39
Tutoriels PowerShell
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 4 mois #3261
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Get-Service Status colorier
Ensuite si tu veux généraliser le principe voir ce post
scriptolog.blogspot.com/2007/09/colorize...put-in-pipeline.html
scriptolog.blogspot.com/2007/09/colorize...put-in-pipeline.html
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- exca
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 17 ans 4 mois #3262
par exca
Réponse de exca sur le sujet Re:Get-Service Status colorier
Yahaaaa
Merci ca marche
[code:1]Get-Service IISADMIN |% {if ( $_.status -eq \"stopped\"«») {Write-Host $_.name $_.status -ForegroundColor red} elseif ( $_.status -eq \"running\"«») {Write-Host -NoNewLine $_.name\"`t\" ; Write-host $_.status -ForegroundColor green} }[/code:1]
Enfin me reste a voir pour le -computername qui n'est pas correct, je vais garder l'astuce du filtre ca me semble pas mal du tout
MERCI
Merci ca marche
[code:1]Get-Service IISADMIN |% {if ( $_.status -eq \"stopped\"«») {Write-Host $_.name $_.status -ForegroundColor red} elseif ( $_.status -eq \"running\"«») {Write-Host -NoNewLine $_.name\"`t\" ; Write-host $_.status -ForegroundColor green} }[/code:1]
Enfin me reste a voir pour le -computername qui n'est pas correct, je vais garder l'astuce du filtre ca me semble pas mal du tout
MERCI
Connexion ou Créer un compte pour participer à la conversation.
- exca
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 17 ans 4 mois #3264
par exca
Réponse de exca sur le sujet Re:Get-Service Status colorier
[code:1]
Get-WmiObject -Class Win32_Service -ComputerName server01 -f \"name='IISADMIN'\" |% {if ( $_.state -eq \"stopped\"«») {Write-Host -NoNewLine $_.name\"`t\"; Write-Host $_.state -ForegroundColor red} elseif ( $_.state -eq \"running\"«») {Write-Host -NoNewLine $_.name\"`t`t\" ; Write-host $_.status -ForegroundColor green} }
[/code:1]
HOURA \o/<br><br>Message édité par: exca, à: 18/11/08 18:20
Get-WmiObject -Class Win32_Service -ComputerName server01 -f \"name='IISADMIN'\" |% {if ( $_.state -eq \"stopped\"«») {Write-Host -NoNewLine $_.name\"`t\"; Write-Host $_.state -ForegroundColor red} elseif ( $_.state -eq \"running\"«») {Write-Host -NoNewLine $_.name\"`t`t\" ; Write-host $_.status -ForegroundColor green} }
[/code:1]
HOURA \o/<br><br>Message édité par: exca, à: 18/11/08 18:20
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.076 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Get-Service Status colorier