Question Powershell PScustomObject dans Boucle
- Geant
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 20
- Remerciements reçus 0
il y a 8 ans 1 mois #21563
par Geant
Powershell PScustomObject dans Boucle a été créé par Geant
Bonjour à tous et à toutes;) ,
Je bloque sur un problème sûrement à la con.
Je m'explique, je souhaiterais faire un test de connection (ping) sur une liste de machine depuis un fichier csv et obtenir un pscutomobject de ce type avec toutes les machines
ID NAME ETAT
-- ---- ----
0 PC1 True
donc je fais :
[code:1]
$monfichiercsv = import-csv -path \"emplacement\" -delimiter \";\"
foreach ($a in $monfichiercsv){
$nom = $a.nom
$bool = Test-connection $nom -quiet
$i++
$res = new-object PSOobject -property @{
ID = $i
Server = $nom
ETAT = $bool }
$res
}
[/code:1]
Malheuresement avec ceci je n'ai pas le résultat attendu ...
Avez-vous une idée pour que je puisse avancer dessus ?
Merci à tous
Message édité par: Geant, à: 9/03/16 09:38<br><br>Message édité par: Geant, à: 9/03/16 14:01
Je bloque sur un problème sûrement à la con.
Je m'explique, je souhaiterais faire un test de connection (ping) sur une liste de machine depuis un fichier csv et obtenir un pscutomobject de ce type avec toutes les machines
ID NAME ETAT
-- ---- ----
0 PC1 True
donc je fais :
[code:1]
$monfichiercsv = import-csv -path \"emplacement\" -delimiter \";\"
foreach ($a in $monfichiercsv){
$nom = $a.nom
$bool = Test-connection $nom -quiet
$i++
$res = new-object PSOobject -property @{
ID = $i
Server = $nom
ETAT = $bool }
$res
}
[/code:1]
Malheuresement avec ceci je n'ai pas le résultat attendu ...
Avez-vous une idée pour que je puisse avancer dessus ?
Merci à tous
Message édité par: Geant, à: 9/03/16 09:38<br><br>Message édité par: Geant, à: 9/03/16 14:01
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 8 ans 1 mois #21568
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Powershell PScustomObject dans Boucle
Geant écrit:
[code:1]
$monfichier
$monfichiercsv
...
$nom=$a.nom
Server = $name[/code:1]
Relire le code ?Avez-vous une idée pour que je puisse avancer dessus ?
[code:1]
$monfichier
$monfichiercsv
...
$nom=$a.nom
Server = $name[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Geant
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 20
- Remerciements reçus 0
il y a 8 ans 1 mois #21569
par Geant
Réponse de Geant sur le sujet Re:Powershell PScustomObject dans Boucle
Bonjour Laurent,
N'ayant pas fait de copier coller j'ai oublié de rajouter csv\", je confirme que je suis toujours bloqué...
une idée ou une piste ?
N'ayant pas fait de copier coller j'ai oublié de rajouter csv\", je confirme que je suis toujours bloqué...
une idée ou une piste ?
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 8 ans 1 mois #21570
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Powershell PScustomObject dans Boucle
Geant écrit:
Tu affectes le contenu d'une variable inexistante, $NAME , dans la propriété Server.
alors que ta variable initiale se nomme $nom.
comme dit précédemment, relire le code est un bon début.une idée ou une piste ?
Tu affectes le contenu d'une variable inexistante, $NAME , dans la propriété Server.
alors que ta variable initiale se nomme $nom.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Geant
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 20
- Remerciements reçus 0
il y a 8 ans 1 mois #21572
par Geant
Réponse de Geant sur le sujet Re:Powershell PScustomObject dans Boucle
L'idée n'étant pas de corriger le code (qui était juste un exemple) mais plutôt de pouvoir me donner les indications nécessaires afin d'inclure un pscustomobject dans une boucle de type foreach ...
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 8 ans 1 mois #21573
par Philippe
Réponse de Philippe sur le sujet Re:Powershell PScustomObject dans Boucle
salut Geant
comme dis Laurent tu a quelque erreur de \"frappe\" dans ton script
mais idée générale est bonne
perso je prend quelques raccourcis d'écritures (c'est pas bien \"6ratgus\" )
pour ne pas avoir ce genre d'erreur :
[code:1]
new-object : Le type [PSOobject] est introuvable : vérifiez que l’assembly dans lequel il se trouve est chargé.
Au caractère Ligne:7 : 12
+ $res = new-object PSOobject -property @{
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidType: (:«») [New-Object], PSArgumentException
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
[/code:1]
je ne crée pas d'objet mais j'utilise select comme ceci :
[code:1] \"\" | select @{n=\"Id\";e={$i}}, @{n=\"Name\";e={$nom}}, @{n=\"Statut\";e={$bool}}[/code:1]
petit conseil au passage, viens ici avec un message erreur, ça nous aide pour pouvoir d'aidé !!
et aussi avec un script qui reproduit l'erreur et qui fonctionne !
PS : j'aurais pu aussi te renvoyer sur un article (va y pour le lire c'est intéressant) ou une doc de PSObject mais la realité est que Laurent a raison !!! relis cette ligne en détail :
[code:1]$res = new-object PSOobject -property @{[/code:1]<br><br>Message édité par: 6ratgus, à: 10/03/16 10:42
comme dis Laurent tu a quelque erreur de \"frappe\" dans ton script
mais idée générale est bonne
perso je prend quelques raccourcis d'écritures (c'est pas bien \"6ratgus\" )
pour ne pas avoir ce genre d'erreur :
[code:1]
new-object : Le type [PSOobject] est introuvable : vérifiez que l’assembly dans lequel il se trouve est chargé.
Au caractère Ligne:7 : 12
+ $res = new-object PSOobject -property @{
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidType: (:«») [New-Object], PSArgumentException
+ FullyQualifiedErrorId : TypeNotFound,Microsoft.PowerShell.Commands.NewObjectCommand
[/code:1]
je ne crée pas d'objet mais j'utilise select comme ceci :
[code:1] \"\" | select @{n=\"Id\";e={$i}}, @{n=\"Name\";e={$nom}}, @{n=\"Statut\";e={$bool}}[/code:1]
petit conseil au passage, viens ici avec un message erreur, ça nous aide pour pouvoir d'aidé !!
et aussi avec un script qui reproduit l'erreur et qui fonctionne !
PS : j'aurais pu aussi te renvoyer sur un article (va y pour le lire c'est intéressant) ou une doc de PSObject mais la realité est que Laurent a raison !!! relis cette ligne en détail :
[code:1]$res = new-object PSOobject -property @{[/code:1]<br><br>Message édité par: 6ratgus, à: 10/03/16 10:42
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.079 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Powershell PScustomObject dans Boucle