Question Trouver localisation serveur sur Chassis HP

Plus d'informations
il y a 5 ans 1 mois #28423 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 :laugh:

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...:angry:
Si quelqu'un pourrait m'expliquer d'où vient le problème, ça serait sympa :cheer:
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
Pièces jointes :

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

Plus d'informations
il y a 5 ans 1 mois #28424 par Sinjk
Hello,

As tu testé sans rien ou avec les '' entre ton $t ?

Bon courage

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

Plus d'informations
il y a 5 ans 1 mois #28427 par Kermit80
Salut,

Merci pour ton aide. Je pense avoir fait le tour des possibilités :

avec ou sans ''
avec ou sans \&quot;\&quot;
avec ou sans \&quot; '' \&quot;

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 \&quot;résultat\&quot; du filtrage dans la suite du script pour trouver la concordance des SN afin cette fois d'obtenir le nom du châssis (EnclosureName)...:dry:
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
Pièces jointes :

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

Plus d'informations
il y a 5 ans 1 mois #28429 par Philippe
salut Kermit80

pour utilisé une variable dans invoke-command il faut que tu utilise l'option \&quot;-ArgumentList\&quot; 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.

Plus d'informations
il y a 5 ans 1 mois #28430 par Kermit80
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.:cheer:

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

Plus d'informations
il y a 5 ans 4 semaines #28548 par Kermit80
Re et désolé pour le retard mais j'ai été pris sur un autre projet :S

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