Question
recuperer valeur d'un tableau pour traitement
- tibo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 12 ans 2 jours #17195
par tibo
recuperer valeur d'un tableau pour traitement a été créé par tibo
Bonjour,
je debute sur powershell et je bloque sur un script qui permet de recuperer la version d'un logiciel
$computername = Read-Host \"Entrer un nom de machine\"
Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\" | FT name, installdate, version -auto
j'arrive bien a obtenir le resultat
name installdate version
----
Configuration Manager Client 20140210 4.00.6487.2700
mais je souhaiterai recuperer la valeur de la requete pour traitement
C'est a dire recuperer le numero de version du logiciel pour determiner de la version
J'ai tenté ca mais .....
$computername = Read-Host \"Entrer un nom de machine\"
$ver = (Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\" | FT name, installdate, version -auto)
if ($ver -eq '4.00.6487.2700')
{
Write-Output ('SSCM 2007')
}
else
Write-Output ('SSCM 2012')
Pouvez me guider svp merci d'avance
je debute sur powershell et je bloque sur un script qui permet de recuperer la version d'un logiciel
$computername = Read-Host \"Entrer un nom de machine\"
Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\" | FT name, installdate, version -auto
j'arrive bien a obtenir le resultat
name installdate version
----
Configuration Manager Client 20140210 4.00.6487.2700
mais je souhaiterai recuperer la valeur de la requete pour traitement
C'est a dire recuperer le numero de version du logiciel pour determiner de la version
J'ai tenté ca mais .....
$computername = Read-Host \"Entrer un nom de machine\"
$ver = (Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\" | FT name, installdate, version -auto)
if ($ver -eq '4.00.6487.2700')
{
Write-Output ('SSCM 2007')
}
else
Write-Output ('SSCM 2012')
Pouvez me guider svp 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 12 ans 2 jours #17196
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:recuperer valeur d'un tableau pour traitement
Salut,
tibo écrit:
[code:1]$Resultat=$Objet.NomDePropriété[/code:1]
Ton erreur est de formater l'objet avant de le traiter, dans ce cas Powershell modifie la structure de l'objet qui n'a plus rien à voir avec celui d'origine.
Le formatage concerne uniquement l'affichage, on utilise peu,voir pas du tout, le résultat de l'appel de ces cmdlets.
tibo écrit:
Pour obtenir/manipuler une propriété d'un objet on écrit simplementPouvez me guider svp merci d'avance
[code:1]$Resultat=$Objet.NomDePropriété[/code:1]
Ton erreur est de formater l'objet avant de le traiter, dans ce cas Powershell modifie la structure de l'objet qui n'a plus rien à voir avec celui d'origine.
Le formatage concerne uniquement l'affichage, on utilise peu,voir pas du tout, le résultat de l'appel de ces cmdlets.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- tibo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 12 ans 2 jours #17197
par tibo
Réponse de tibo sur le sujet Re:recuperer valeur d'un tableau pour traitement
merci pour ta reponse mais je comprend pas trop pour l'adapter a mon script ....
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 12 ans 2 jours #17198
par Philippe
Réponse de Philippe sur le sujet Re:recuperer valeur d'un tableau pour traitement
salut tibo
pour résumé :
tu doit supprimé le formatage de ton Get-WmiObject, c'est à dire enlevé le FT.... en fin de ligne :
[code:1]Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\"[/code:1]
ainsi tu a l'objet telle que le renvoie Get-WmiObject et non la transformation au format texte que fait FT(Format-Table) qui n'est fait que pour un affichage sur la console pour faire court
tu peut ainsi récupéré le numéros de version soit par :
[code:1]$objet = Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\"
$object.version[/code:1]
soit par :
[code:1](Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\"«»).version[/code:1]
et au final $ver contient la version par :
[code:1]$ver = (Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\"«»).version[/code:1]
il faut penser objet et enlevé tout ce qui transforme l'objet en autre chose
pour résumé :
tu doit supprimé le formatage de ton Get-WmiObject, c'est à dire enlevé le FT.... en fin de ligne :
[code:1]Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\"[/code:1]
ainsi tu a l'objet telle que le renvoie Get-WmiObject et non la transformation au format texte que fait FT(Format-Table) qui n'est fait que pour un affichage sur la console pour faire court
tu peut ainsi récupéré le numéros de version soit par :
[code:1]$objet = Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\"
$object.version[/code:1]
soit par :
[code:1](Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\"«»).version[/code:1]
et au final $ver contient la version par :
[code:1]$ver = (Get-WmiObject win32_product -ComputerName $ComputerName -filter \"name='Configuration Manager Client'\"«»).version[/code:1]
il faut penser objet et enlevé tout ce qui transforme l'objet en autre chose
Connexion ou Créer un compte pour participer à la conversation.
- tibo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 12 ans 1 jour #17199
par tibo
Réponse de tibo sur le sujet Re:recuperer valeur d'un tableau pour traitement
OK !! j'ai compris merci pour tes explications simples
Connexion ou Créer un compte pour participer à la conversation.
- tibo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 12 ans 1 jour #17200
par tibo
Réponse de tibo sur le sujet Re:recuperer valeur d'un tableau pour traitement
Merci pour ton aide j'ai reussi a finaliser mon script
par contre j'ai cree un BAT permettant de lancer le script en admin
runas /user:user@domaine \"powershell.exe .\scripte.ps1\"
je clique sur le bat qui ouvre un CMD et qui me demande mon mot de pass : et ensuite une fenetre powershell souvre et se ferme directement....
Je comprend pas ...
MErci de vos aide
par contre j'ai cree un BAT permettant de lancer le script en admin
runas /user:user@domaine \"powershell.exe .\scripte.ps1\"
je clique sur le bat qui ouvre un CMD et qui me demande mon mot de pass : et ensuite une fenetre powershell souvre et se ferme directement....
Je comprend pas ...
MErci de vos aide
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.050 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- recuperer valeur d'un tableau pour traitement