nörd skola: att använda Power att få datorinformation

WMI och dess nyare bror CIM kan både användas för att hantera Windows-maskiner de i din omgivning. Men vet du skillnaden mellan dem? Följ med när vi tar en titt.

Var noga med att läsa tidigare artiklar i serien

Och håll ögonen öppna för resten av serien hela veckan.

WMI står för Windows Management Instrumentation. Ordet “Instrumentation” hänvisar till det faktum att WMI kan du få information om det interna tillståndet i datorn, ungefär som instrumentpanelen instrument i bilen kan hämta och visa information om tillståndet för din bil interna komponenter.

WMI består av ett slutförvar som innehåller klasser som representerar komponenter som kan hanteras inom i maskinen. Med det menar vi bara för att WMI har en Win32_Battery klass betyder inte att maskinen innehåller ett batteri. Dessa klasser kan sedan efterfrågas information lokalt eller över ett nätverk med ett frågespråk som liknar SQL kallas WQL. Emellertid har WMI varit kända för att vara mycket otillförlitliga, främst på grund av det faktum att den är baserad på RPC (Remote Procedure Calls), som gör en del galna saker med portarna de väljer att kommunicera på.

Från och med Windows 8 och Server 2012, WMI fasas ut till förmån för den gemensamma Information Model eller CIM för kort. Den enda skillnaden mellan WMI och CIM är transportprotokoll de använder. Medan WMI utför frågor med Remote Procedure Calls, använder CIM HTTP, som verkar för att göra en enorm skillnad. På backend är de fortfarande talar med samma databas med information.

Det snabbaste och enklaste sättet att utforska den tillgängliga informationen till dig via WMI är att ta en kopia av gratis WMI Objektgranskning. Vi gillar den här. När du har hämtat, brand upp och du kommer att ha ett grafiskt gränssnitt för att bläddra WMI klasser.

Om du vill ta reda på något om en dator diskkonfiguration genom att trycka på Ctrl + F tangentkombination för att få upp en sökruta och skriv “logicaldisk” och tryck enter.

Omedelbart detta kommer att ta dig till Win32_LogicalDisk klassen.

På den nedre halvan av programmet, kan du se att vi har två instanser av klassen.

När vi har klassen vi letar efter, frågas det från Power är rakt framåt.

Get-WmiObject -query “SELECT * FROM Win32_LogicalDisk”

Jag har inte sett att syntaxen för ett tag med människor i dessa dagar föredrar att använda den nya parametriserade syntax.

Get-WmiObject -Class Win32_LogicalDisk

Om du vill få information från en annan dator i nätverket, kan du helt enkelt använda Computer parametern.

Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper -Credential huggorm \ administratör

Med tanke på att CIM är endast tillgängligt på Windows 8 och Server 2012, framåt är det definitivt rätt väg att gå.

Get-CimInstance -ClassName Win32_LogicalDisk

Det finns också tabulatorkomplettering för -ClassName parametern när Get-CimInstance, vilket visar att gå framåt det är där Microsofts ansträngningar kommer att fokuseras.

I själva verket var WMI utvecklats av en helt separat team inom Microsoft, men har senare tagits över av folk som ansvarar för Powershell. De var de som märkt att det kommer att bli mycket svårt att städa upp röran WMI kvar. I ett försök att råda bot på situationen, de försöker göra WMI och CIM mer tillgängliga genom att skriva omslags cmdlets som använder WMI och CIM under huven. Det enda sättet att kontrollera om en cmdlet är ett omslag är genom att titta på dokumentationen. Till exempel, är ett Get-Hotfix cmdlet ett omslag för den Win32_QuickFixEngineering klass, som sett i dokumentationen.

Det innebär att du kan få snabbkorrigeringar på fjärrdatorer med hjälp av Get-HotFix cmdlet i stället för en WMI Query.

Get-HotFix -ComputerName localhost

Så där har ni det. Kom bara ihåg att om det finns en särskild cmdlet du alltid vill använda det, följs upp av CIM ska en cmdlet inte existerar. Slutligen, om allt annat misslyckas, eller om du har äldre maskiner i din omgivning, kommer du vill använda WMI. Det är allt jag har för den här gången. Vi ses i morgon för mer Power kul.

Bach skrev över 200 kantater-en vokal komposition med instrumentala ackompanjemang-200 av dem var sakrala kantater och 16 av dem var sekulära kantater.