Powershell and WMI the easy way! (1)

Stefan van der Wiele, 11 december 2009

Veel mensen weten al hoeveel er mogelijk is met PowerShell. Ook weten veel mensen hoeveel er mogelijk is door gebruik te maken van WMI. Kun je je voorstellen wat er gebeurt als je deze technieken samenvoegd. Waar het in VBScript soms nog lastig is WMI te gebruiken is dit in PowerShell sterk vereenvoudigd. In deze eerste blog gaan we in op het opvragen van informatie via WMI en het filteren daarvan.

Open maar eens een PowerShellconsole en typ eens: gwmi. Dit is de alias voor Get-WMIObject. Met deze cmdlet is het eenvoudig om aan informatie te komen. Typ bijvoorbeeld maar eens:

Gwmi win32_process


Dit zal alle draaien processen op het scherm toveren. Helaas is dit niet echt overzichtelijk. Daar kunnen we wat aan doen doormiddel van “piping”, dit zal de output van dit commando door een ander commando halen. Zo kunnen we bijvoorbeeld een statement meegeven dat ons alleen de naam geeft van de processen, dit gaat als volgt:

Gwmi win32_process | select Name

Dit overzicht is al een stuk overzichtelijker. Eventueel kunnen we ook nog wat filtering toepassen door gebruik te maken van de Where cmdlet. Bij iedereen die bekend is met SQL zal dit wel een belletje laten rinkelen. Zo kunnen we bijvoorbeeld de naam laten zien van alle processen waarvan de Priority is gezet op 4 (Low) door het volgende commando te gebruiken.

Gwmi win32_process | Where { $_.Priority -eq 4} | Select name


Zoals je boven ziet wordt Where gebruikt met een zogenoemd “statement” welke zich tussen “CurlyBraces” bevind. De $_ staat gelijk aan het object dat het commando aan de andere kant van de pipe doorgeeft, we willen het attribuut Priority gebruiken van dit object. Daarna geven we aan dat dat attribuut gelijk moet zijn aan 4 (-eq).

Je kunt zelf wat varieren met verschillende WMI classes en attributen daarvan. Of je kunt ook gebruik maken van… de PowerShell Scriptomatic:

http://www.microsoft.com/downloads/details.aspx?FamilyID=d87daf50-e487-4b0b-995c-f36a2855016e&displaylang=en

Volgende keer zal ik ingaan op het maken van instellingen via WMI en PowerShell.

Geef een reactie

Jouw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

De volgende HTML tags en attributen zijn toegestaan: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Categories

  • Tags

  • Blog Authors

    Amy
    anita
    Anneke
    Danny Burlage
    Dennis Vendel
    Freek Berson
    Gerard
    Iris
    Jasper Oosterveld
    Jean-Claude Chan
    Jorn
    Lab Chicks
    Luc Joziasse
    Maarten van Noort
    Maarten Wijsman
    Marlon
    Martijn Bellaard
    Natasja van Doorn
    Paul Pascha
    Peter Heuvelman
    Rick Slager
    Robert van Son
    Roeland Jimenez
    SanderZ
    Sjoerd Schudde
    Stefan van der Wiele
    Tim Heuperman
    Wortell
  • Archief