Question [Résolu] Récupérer une propriété d'un objet

Plus d'informations
il y a 5 ans 9 mois #25666 par Joran
Bonjour,

J'ai cherché comment ressortir que un mot clé d'une informations. Par exemples, pour un service lorsque je lance

[code:1]Get-Service wlidsvc | Format-List -Property Status[/code:1]
J'aurai souhaité n'avoir que le status et non \"Status : status du service\".
J'ai donc trouvé la solution en tapant Format-Wide.

Maintenant, lorsque je lance un script du type :
[code:1]
$service = Get-Service wlidsvc | Format-wide -Property Status
if ($service -eq \"Stopped\"«») {
Write-Output \"service = ok\"
} Else {
Write-Output \"service = MANQUANT, le service est stoppé\"
}
[/code:1]

Alors que il est censé me retourné OK, il me retourne MANQUANT sachant que mon service est effectivement stoppé...

Je pense que cela pourrait venir des espaces lorsque je lance la commande : \"Get-Service wlidsvc | Format-wide -Property Status\"

Merci d'avance
Joran<br><br>Message édité par: Arnaud, à: 25/06/18 15:51

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 5 ans 9 mois #25668 par Quentin
Réponse de Quentin sur le sujet Re:Travail sur les objets
Bonjour Joran,

Utilise une variable pour stocker ton information. A partir de là, tu utilises les propriétés de ton objet.

par exemple :

[code:1]
$var = Get-service dnscache #tu stockes ton information
$var.Status #tu affiches la propriété correspondant au champ status de ton objet
#renvoi : Running
[/code:1]

Quand tu fais un format-list (ou fl en abbréviation), chaque ligne correspond à une propriété pouvant être appelée via $nomvariable.nompropriété

Par contre, dans ton script, il faut que tu changes ta condition dans le IF.
Là ce que tu fais, c'est de tester si le service est stoppé, pour écrire qu'il est OK, alors que ton \&quot;else\&quot; renvoi l'information comme quoi il est down...
Je ne comprends pas trop ce que tu tentais de faire.

Essaie de faire un test sur Running pour dire OK et ton \&quot;else\&quot; te servira pour les services stoppés.

Bon courage pour la suite, tu devrais pouvoir exploiter ces informations pour finir ton script.

Cordialement,
Whitatrax<br><br>Message édité par: Whitatrax, à: 25/06/18 12:25

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 5 ans 9 mois #25671 par NicolasBdn
Réponse de NicolasBdn sur le sujet Re:Travail sur les objets
Bonjour Joran,

Ton problème provient de l'utilisation de Format-Wide. Cette commande est seulement utiliser pour formater correctement l'afficher d'un objet dans la console.

Pour contourner ton problème, tu as plusieurs solutions :
[code:1]$service = Get-Service wlidsvc | Select-Object -ExpandProperty Status
[/code:1]

Ou bien

[code:1]$service = (Get-Service wlidsvc).Status[/code:1]


Et celle donnée par Whitatrax.

En ésperant avoir pu t'aider.

NicolasB<br><br>Message édité par: NicolasB, à: 25/06/18 14:17

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 5 ans 9 mois #25673 par Joran
Réponse de Joran sur le sujet Re:Travail sur les objets
Merci à vous deux, j'ai réussi.

On peut clore ce sujet !!

B) :P :woohoo:

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.086 secondes
Propulsé par Kunena