Question [Résolu] Sélectionner une instance d'un Objet WMI

Plus d'informations
il y a 16 ans 1 mois #6063 par edouard
Salut à tous,


un truc qui à l'aire tout bête comme ça mais qui finalement me pose problème,

je veut savoir quel wallpaper ou quel screensaver est sur le pc (distant mais ça c'est une autre histoire)

je fait donc un

get-wmiobject win32_desktop

ok j'ai toute les info que je veut j'ai plus qu'a choisir la bonne propriétée,
Mais y a plusieurs instances !

comment je peu choisir la bonne ?

en gros il me faut le :

gwmi win32_desktop |select-object wallpaper

mais pour l'utilisateur courant


merci de donné un coup de pouce =)<br><br>Message édité par: Arnaud, à: 10/03/10 16:37

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

Plus d'informations
il y a 16 ans 1 mois #6064 par Romain
Coucou,

J'ai vu ton post et vu que j'étais dans les WMI il n'y a pas longtemps j'ai régardé un peu :

Je te propose un code peut être pas optimisé mais bon... :P :

[code:1]
$a = Get-ChildItem env:username | select-object Value
$b = $a.Value
$c = Get-ChildItem env:UserDomain | select-object Value
$d = $c.Value
$e = $d+'\'+$b
gwmi win32_desktop | Where{$_.Name -eq $e} | select-object wallpaper
[/code:1]

Voilou, en espérant que ça t'aide.

Message édité par: henkala, à: 28/01/10 16:48<br><br>Message édité par: henkala, à: 28/01/10 16:48

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

Plus d'informations
il y a 16 ans 1 mois #6066 par edouard
yeah super rapide !

merci pour le coup de main.

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

Plus d'informations
il y a 16 ans 1 mois #6067 par Laurent Dardenne
henkala écrit:

Je te propose un code peut être pas optimisé mais bon...

Tu peux accéder directement au provider de variable :
[code:1](gwmi win32_desktop | Where {$_.Name -eq \&quot;$env:UserDomain\$env:username\&quot;}).WallPaper[/code:1]
La véritable optimisation serait de laisser le soin à WMI de filtrer l'instance recherchée :
[code:1](gwmi win32_desktop -filter \&quot;Name='$env:UserDomain\\$env:username'\&quot;«»).Wallpaper[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 1 mois #6069 par Arnaud Petitjean

...screensaver est sur le pc (distant mais ça c'est une autre histoire)


Pour ce qui concerne l'execution d'une requete WMI sur une machine distante, il faut que tu utilises le paramètre -ComputerName de Get-WmiObject.

L'avais tu remarqué ?

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 16 ans 2 semaines #6307 par edouard
tout d'abord merci de vos deux réponses,

j'était parti tout contant avec la première solution sans revenir réguliairement ( héhé j'ai pas toujours le temps que je voudrais pour scripté )

@ Arnaud :

oui je faisait mes requêtes de la façon suivante :

[code:1]
$result.Nom = (Get-WmiObject win32_computersystem -computerName $computer).name
[/code:1]

@ Laurent et Arnaud :

mmh la super classe je vais donc faire ce genre de requetes pour les objet wmi win32_desktop

[code:1]
(gwmi win32_desktop -computerName $computer -filter \&quot;Name='$env:UserDomain\\$env:username'\&quot;«»).Wallpaper
[/code:1]

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

Temps de génération de la page : 0.050 secondes
Propulsé par Kunena