Question
Trouver localisation serveur sur Chassis HP
- Kermit80
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 23
- Remerciements reçus 1
il y a 5 ans 1 mois #28423
par Kermit80
Trouver localisation serveur sur Chassis HP a été créé par Kermit80
Re bonsoir à tous,
Je poursuis sur ma lancée vu qu'actuellement j'essaye d'automatiser un grand nombre de chose pour faciliter mon quotidien
Cette fois-ci, comme le titre l'indique il s'agit de trouver la localisation d'une machine sur un chassis HP.
Le code en lui-même fonctionne si je renseigne \"en dur dans le script\" le nom du machine mais pose problème quand je remplace la valeur par une variable...Et là j'ai vraiment du mal à comprendre. J'ai essayé les , les simples \"\" ou encore \"''\" mais rien n'y fait...
Si quelqu'un pourrait m'expliquer d'où vient le problème, ça serait sympa
Voici ce que j'ai fait pour l'instant :
[code:1]Write-host \"Taper le nom du serveur à chercher :\"
$t=Read-Host
Invoke-Command -ComputerName xxxx -ScriptBlock {
Add-PSSnapin HewlettPackard.Servers.BladeSystem.HPBladeSystemEnclosureCmdLets
#récupère le SN du chassis à partir du nom du serveur
$machine=Get-Blade | Where {$_.ServerName -match \"$t\"} | select-object EnclosureSerialNumber -Unique | fl
#trouve le nom du chassis à partir du SN
$blade=Get-enclosure | Where-Object {$_.SerialNumber -match $machine} | Select-Object EnclosureName }[/code:1]
Message édité par: Kermit80, à: 7/03/19 20:35
UPDATE : screens pour illustrer mes propos
Avec une variable :
Message édité par: Kermit80, à: 8/03/19 13:11<br><br>Message édité par: Kermit80, à: 8/03/19 13:12
Je poursuis sur ma lancée vu qu'actuellement j'essaye d'automatiser un grand nombre de chose pour faciliter mon quotidien
Cette fois-ci, comme le titre l'indique il s'agit de trouver la localisation d'une machine sur un chassis HP.
Le code en lui-même fonctionne si je renseigne \"en dur dans le script\" le nom du machine mais pose problème quand je remplace la valeur par une variable...Et là j'ai vraiment du mal à comprendre. J'ai essayé les , les simples \"\" ou encore \"''\" mais rien n'y fait...
Si quelqu'un pourrait m'expliquer d'où vient le problème, ça serait sympa
Voici ce que j'ai fait pour l'instant :
[code:1]Write-host \"Taper le nom du serveur à chercher :\"
$t=Read-Host
Invoke-Command -ComputerName xxxx -ScriptBlock {
Add-PSSnapin HewlettPackard.Servers.BladeSystem.HPBladeSystemEnclosureCmdLets
#récupère le SN du chassis à partir du nom du serveur
$machine=Get-Blade | Where {$_.ServerName -match \"$t\"} | select-object EnclosureSerialNumber -Unique | fl
#trouve le nom du chassis à partir du SN
$blade=Get-enclosure | Where-Object {$_.SerialNumber -match $machine} | Select-Object EnclosureName }[/code:1]
Message édité par: Kermit80, à: 7/03/19 20:35
UPDATE : screens pour illustrer mes propos
Avec une variable :
Message édité par: Kermit80, à: 8/03/19 13:11<br><br>Message édité par: Kermit80, à: 8/03/19 13:12
Connexion ou Créer un compte pour participer à la conversation.
- Sinjk
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 99
- Remerciements reçus 0
il y a 5 ans 1 mois #28424
par Sinjk
Réponse de Sinjk sur le sujet Re:Trouver localisation serveur sur Chassis HP
Hello,
As tu testé sans rien ou avec les '' entre ton $t ?
Bon courage
As tu testé sans rien ou avec les '' entre ton $t ?
Bon courage
Connexion ou Créer un compte pour participer à la conversation.
- Kermit80
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 23
- Remerciements reçus 1
il y a 5 ans 1 mois #28427
par Kermit80
Réponse de Kermit80 sur le sujet Re:Trouver localisation serveur sur Chassis HP
Salut,
Merci pour ton aide. Je pense avoir fait le tour des possibilités :
avec ou sans ''
avec ou sans \"\"
avec ou sans \" '' \"
Soit j'obtiens un message d'erreur (pb de syntaxe), soit j'obtiens la liste de tous les châssis répertoriés mais pas celui indiqué dans la variable plus haut ($t).
Je viens de penser éventuellement à utiliser le paramètre Out-GridView et ses fonctionnalités de filtrage (recherche par nom) mais alors le tout serait ensuite d'intégrer le \"résultat\" du filtrage dans la suite du script pour trouver la concordance des SN afin cette fois d'obtenir le nom du châssis (EnclosureName)...
ERRATUM : le Out-Gridview permet de filtrer le résultat mais pour une raison que j'ignore (peut être le fait de le faire à distance), pas de bouton OK pour valider le résultat afin de transmettre au |... retour à la case départ:(
Message édité par: Kermit80, à: 8/03/19 13:17<br><br>Message édité par: Kermit80, à: 8/03/19 13:18
Merci pour ton aide. Je pense avoir fait le tour des possibilités :
avec ou sans ''
avec ou sans \"\"
avec ou sans \" '' \"
Soit j'obtiens un message d'erreur (pb de syntaxe), soit j'obtiens la liste de tous les châssis répertoriés mais pas celui indiqué dans la variable plus haut ($t).
Je viens de penser éventuellement à utiliser le paramètre Out-GridView et ses fonctionnalités de filtrage (recherche par nom) mais alors le tout serait ensuite d'intégrer le \"résultat\" du filtrage dans la suite du script pour trouver la concordance des SN afin cette fois d'obtenir le nom du châssis (EnclosureName)...
ERRATUM : le Out-Gridview permet de filtrer le résultat mais pour une raison que j'ignore (peut être le fait de le faire à distance), pas de bouton OK pour valider le résultat afin de transmettre au |... retour à la case départ:(
Message édité par: Kermit80, à: 8/03/19 13:17<br><br>Message édité par: Kermit80, à: 8/03/19 13:18
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 5 ans 1 mois #28429
par Philippe
Réponse de Philippe sur le sujet Re:Trouver localisation serveur sur Chassis HP
salut Kermit80
pour utilisé une variable dans invoke-command il faut que tu utilise l'option \"-ArgumentList\" a l'appel de invoke-command :
[code:1]Invoke-Command -ComputerName xxxx -ArgumentList $t -ScriptBlock {[/code:1]
et dans le ScriptBlock il faut que tu receptionne cette variable par une des trois solutions posible, par exemple avec param :
[code:1]Invoke-Command -ComputerName xxxx -ArgumentList $t -ScriptBlock {param ($t)[/code:1]
plus d'explication ici
pour utilisé une variable dans invoke-command il faut que tu utilise l'option \"-ArgumentList\" a l'appel de invoke-command :
[code:1]Invoke-Command -ComputerName xxxx -ArgumentList $t -ScriptBlock {[/code:1]
et dans le ScriptBlock il faut que tu receptionne cette variable par une des trois solutions posible, par exemple avec param :
[code:1]Invoke-Command -ComputerName xxxx -ArgumentList $t -ScriptBlock {param ($t)[/code:1]
plus d'explication ici
Connexion ou Créer un compte pour participer à la conversation.
- Kermit80
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 23
- Remerciements reçus 1
il y a 5 ans 1 mois #28430
par Kermit80
Réponse de Kermit80 sur le sujet Re:Trouver localisation serveur sur Chassis HP
Merci à toi 6ratgus
N'étant plus devant mon poste. je tâcherai de tester ça dès Lundi.
Je te ferai un retour;)
Encore merci à la communauté, passez un bon WE à tous et à bientôt.
N'étant plus devant mon poste. je tâcherai de tester ça dès Lundi.
Je te ferai un retour;)
Encore merci à la communauté, passez un bon WE à tous et à bientôt.
Connexion ou Créer un compte pour participer à la conversation.
- Kermit80
- Auteur du sujet
- Hors Ligne
- Membre junior
Réduire
Plus d'informations
- Messages : 23
- Remerciements reçus 1
il y a 5 ans 4 semaines #28548
par Kermit80
Réponse de Kermit80 sur le sujet Re:Trouver localisation serveur sur Chassis HP
Re et désolé pour le retard mais j'ai été pris sur un autre projet
quoiqu'il en soit, j'ai testé cette modification (-Argumentlist présent dans le livre mais je trouve de manière anecdotique) et en effet, il me retourne bien le résultat du serveur cible. Pour éliminer tout superflu, j'ai aussi ajouté le -ExpanProperty.
après avoir galéré un peu (la routine du début), j'ai fini par avoir ce que je cherchais...
Jagrémenterai au fur et à mesure d'autres fonctionnalités.
Encore merci <br><br>Message édité par: Kermit80, à: 21/03/19 17:33
quoiqu'il en soit, j'ai testé cette modification (-Argumentlist présent dans le livre mais je trouve de manière anecdotique) et en effet, il me retourne bien le résultat du serveur cible. Pour éliminer tout superflu, j'ai aussi ajouté le -ExpanProperty.
après avoir galéré un peu (la routine du début), j'ai fini par avoir ce que je cherchais...
Jagrémenterai au fur et à mesure d'autres fonctionnalités.
Encore merci <br><br>Message édité par: Kermit80, à: 21/03/19 17:33
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.151 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Trouver localisation serveur sur Chassis HP