Question Powershell PScustomObject dans Boucle

Plus d'informations
il y a 8 ans 1 mois #21563 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

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

Plus d'informations
il y a 8 ans 1 mois #21568 par Laurent Dardenne
Geant écrit:

Avez-vous une idée pour que je puisse avancer dessus ?

Relire le code ?

[code:1]
$monfichier
$monfichiercsv

...
$nom=$a.nom
Server = $name[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 8 ans 1 mois #21569 par Geant
Bonjour Laurent,

N'ayant pas fait de copier coller j'ai oublié de rajouter csv\&quot;, je confirme que je suis toujours bloqué...

une idée ou une piste ?

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

Plus d'informations
il y a 8 ans 1 mois #21570 par Laurent Dardenne
Geant écrit:

une idée ou une piste ?

comme dit précédemment, relire le code est un bon début.

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.

Plus d'informations
il y a 8 ans 1 mois #21572 par Geant
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.

Plus d'informations
il y a 8 ans 1 mois #21573 par Philippe
salut Geant

comme dis Laurent tu a quelque erreur de \&quot;frappe\&quot; :blush: dans ton script
mais idée générale est bonne B)

perso je prend quelques raccourcis d'écritures :evil: (c'est pas bien \&quot;6ratgus\&quot; :P )

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] \&quot;\&quot; | select @{n=\&quot;Id\&quot;;e={$i}}, @{n=\&quot;Name\&quot;;e={$nom}}, @{n=\&quot;Statut\&quot;;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 !:whistle:

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.076 secondes
Propulsé par Kunena