En kort vejledning om Windows Management Instrumentation (WMI)

Rammen for ledelsesinformation og aktiviteter på Windows-baserede operativsystemer kaldes Windows Management Instrumentation (WMI).

WMI leverer også administrationsdata til andre komponenter i operativsystemet og produkter, såsom SCOM (System Center Operations Manager) eller Windows Remote Management.

Hvad er Windows Management Instrumentation (WMI?)

WMI er en platform til styring og overvågning af operativsystemet og andre Microsoft-applikationer og -tjenester på personlige computere, servere og andre netværksenheder.

WMI leverer en omfattende, skalerbar og brugervenlig programmeringsgrænseflade, der giver programmatisk adgang til information og tjenester på Microsoft-administrerede computere og andre netværksenheder.

Det bruges til at opdage og overvåge operativsystemet, tjenesterne og applikationerne på computeren samt registrerings- og filsystemdata. Det bruges også til at oprette og administrere scripts og programmer, der automatiserer styring og administration af computeren.

Det anvender programmeringssproget WQL (Windows Query Language) til at forespørge efter oplysninger og udføre operationer på operativsystemet, computere og enheder.

Det giver dig også adgang til PowerShell, et af de mest kraftfulde og fleksible administrationsværktøjer til Windows, som du kan bruge til at oprette automatiseringsscripts.

Ydermere giver WMI dig mulighed for at konstruere brugerdefinerede applikationer, der giver yderligere funktionalitet til administration og administration af Windows-systemer og applikationer.

Brugere, der har brug for at overvåge deres maskiners tilstand, foretage grundlæggende fejlfinding og indsamle ydeevnedata, vil finde WMI praktisk.

Hvad er formålet med WMI?

WMI er nyttigt i et Windows-virksomhedsnetværk, fordi det forenkler driften og administrationen af ​​virksomhedens netværkskomponenter ved at levere data til andre produkter for yderligere forbedring og skalerbarhed.

Hele formålet med WMI er at give en samlet ledelsesrammeoplevelse på tværs af alle aspekter af et Windows-system, såsom:

  • Operativsystemkomponenter
  • Processer og tråde
  • Tjenester
  • Enheder
  • Chauffører
  • Ansøgninger
  • Brugerkonti
  • Sikkerhedsindstillinger

Formålet med WMI-opfindelsen fører til reducerede omkostninger og tid i drift og udvikling relateret til Windows-systemer. WMI giver dig også mulighed for at overvåge systemhændelser og indsamle præstationsdata. Disse data kan bruges til at fejlfinde problemer eller til at spore tendenser over tid.

WMI bruges mest til at automatisere administrative gøremål og få adgang til data uden at have direkte at gøre med operativsystemet. Som følge heraf er WMI et fantastisk alternativ for administratorer og softwareudviklere, der skal automatisere tidskrævende processer.

Alt fra overvågning af systemets ydeevne til indhentning af applikationsdata er muligt med det. Det gør det muligt for udviklere at skabe smartere, mere intelligente applikationer og samtidig sikre, at it-administratorer kan udføre deres opgaver med minimal indsats.

WMI giver en referenceimplementering til at få adgang til systemoplysninger og er et nøgleværktøj til styring og overvågning af Windows-systemer. Det er hjørnestenen for Azure Machine Learning og AzureML, og det bruges til at drive en lang række tredjepartsprodukter.

  Få Cortana til at søge efter apps i Windows 10

Brug af WMI

Windows Management Instrumentation (WMI) er Microsofts levering af Web-Based Enterprise Management (WBEM), et industriinitiativ til at udvikle standardiserede teknologier til at få adgang til information om virksomhedsledelse.

WMI repræsenterer systemer, applikationer, netværk, enheder og andre administrerede komponenter, der bruger Common Information Model (CIM) industristandarden. DMTF (Distributed Management Task Force) opretter og vedligeholder CIM.

WMI-design er alsidigt og understøtter en bred vifte af administrations- og administrationsopgaver samt giver en fleksibel og udvidelig arkitektur, der giver producenterne mulighed for at skrive nye WMI-udbydere til at understøtte nye enheder, applikationer og andre fremskridt.

Andre anvendelser er:

  • Omfattende styring af Windows-operativsystemet og Microsoft-netværksenheder og -tjenester.
  • Den kan bruges til at forbinde fjerncomputere for at få adgang til WMI-data
  • Opdager information om systemet, såsom hvilke programmer der kører, og hvilke tjenester der er sat op.
  • For at hente oplysninger om hardwarespecifikationer og udføre handlinger, såsom at lukke ned eller genstarte systemet.
  • Start af applikationer, start, stop, konfiguration af tjenester og adgang til data.
  • Udviklere af administrationsapplikationer kan bruge denne API til at oprette scripts i Visual Basic eller Windows Scripting Host (WSH).

WMI arkitektur

WMI (Windows Management Instrumentation) er en Microsoft-teknologi, der oprindeligt blev præsenteret i Windows 2000. Den giver programmører mulighed for at konstruere administrationsprogrammer, der fungerer med ethvert system, der understøtter WMI.

Lad os se arkitekturen og terminologien i WMI.

Strømmen af ​​WMI-arkitektur starter fra Objekter: En komponent såsom en harddisk, netværkskort, operativsystem eller service er et administreret objekt (som kan administreres via WMI). WMI-infrastruktur modtager data fra et objekt gennem en udbyder. Den leverer og modtager beskeder fra WMI og afleverer dem til objektet.

En WMI-udbyder omfatter en DLL og en MOF-fil (Managed Object Format), der overvåger hændelser og data fra objekter. WMI kategoriserer udbydere i henhold til funktionaliteten fra udbyderens grænseflade.

Der er adskillige indbyggede WMI-udbydere i Windows, herunder en Active Directory-udbyder, Boot Configuration Data (BCD) WMI-udbyder, Distributed File System (DFS)-udbyder, Event Log-udbyder, Hyper-V WMI-udbyder, Win32-udbyder, Registry-udbyder, og SNMP-udbyder.

WMI-infrastrukturen er en komponent i Microsoft Windows-operativsystemet kendt som WMI-tjenesten (winmgmt). WMI Core og WMI Repository er de to dele af WMI-infrastrukturen.

WMI-lageret er et hierarkisk datalager organiseret af WMI-navneområder, ofte kendt som Common Information Model (CIM). WMI-tjenesten etablerer et antal navnerum ved systemstart, inklusive root-standard, rootcimv2 og root-abonnement.

Derudover producerer tjenesten et standardsæt af klassedefinitioner, som inkluderer systemklasserne Win32 og WMI. Andre WMI-navnerum kan oprettes af yderligere WMI-udbydere, og hvert navneområde indeholder flere WMI-objekter.

WMI-tjenesten fungerer som mellemled mellem udbyderne, administrationsapplikationerne og WMI-lageret. Kun statiske data om objekter gemmes i depotet, såsom de klasser, der er defineret af udbydere. WMI henter de fleste data dynamisk fra udbyderen, når en klient anmoder om det.

  Sådan får du adgang til kommandoprompt uden at starte til skrivebordet på Windows 10

En WMI-forbruger er en administrationsapplikation eller et script, der kommunikerer med WMI-infrastrukturen. Ved at bruge COM API til WMI eller Scripting API til WMI kan et administrationsprogram forespørge, specificere data, køre udbydermetoder og abonnere på begivenheder.

WMI skaber en standardiseret grænseflade til ekstern og lokal hentning af administrationsdata. Den ensartede grænseflade abstraherer fra operativsystemets applikationsprogrammeringsgrænseflader (API’er). Dette giver apps og scripts mulighed for at indsamle administrationsdata uden at skulle kende til operativsystemets API.

Hvordan kører man en WMI-forespørgsel?

Et træk ved WMI-platformens alsidighed er evnen til at forespørge i dets lager for at få detaljer om klassen, forekomsten eller skemadataene. Disse målinger er forbundet med opgørelsen af ​​lokale og fjerne systemer, operativsystemer, software og andre administrative aktiviteter.

Type forespørgsler

Overordnet set er der to typer forespørgsler, der bruges til at hente information fra WMI-lageret:

Synchronous Query: Det er en forespørgsel, der holder kontrol over din applikations drift gennem hele forespørgslen. Det er nemmere end et asynkront opkald, fordi det kun tager ét grænsefladeopkald. Ved store søgninger eller netværksbaserede forespørgsler kan det dog fryse din ansøgning.

Asynkron forespørgsel: Når hastigheden af ​​et system eller netværk vil blive påvirket af at forespørge en betydelig gruppe af data, er en asynkron forespørgsel en foretrukken type at bruge.

WQL (WMI Query Language)

En af de populære metoder til at forespørge WMI er WMI Query Language.

SQL (Structured Query Language) bruges i databasemiljøet, og WQL bruges i WMI. De har begge en lignende syntaksstruktur.

Vælg, Fra og Hvor er de grundlæggende WQL-sætninger, der bruges til at starte forespørgslen.

En typisk WMI-forespørgsel starter med at vælge alle egenskaberne fra en WMI-klasse ved hjælp af “Select”-kommandoen. Stjernen (“*”) bruges til at vælge hver egenskab fra en WMI-klasse. Man kan bruge nøgleordet “Fra” til at angive den WMI-klasse, der skal forespørges efter, efter at have valgt egenskaberne (en eller flere egenskaber eller dem alle). Du kan tjekke SQL-snydearket for den nøjagtige syntaks.

WQL kan udføres gennem WMI Tester (wbemtest.exe), som som standard er installeret med Windows-operativsystemet. WMI-forespørgsler kan også udføres gennem Windows PowerShell, VBScript og C-sprog.

Type af WQL-forespørgsler

WQL-forespørgslerne bruges til at få tre forskellige typer information.

Objektforespørgsler: Oplysninger om Windows-systemressourcer kan hentes ved hjælp af disse forespørgsler.

Hændelsesforespørgsler: Disse forespørgsler bruges til at spore ændringer i hændelseslogfiler, initiering af processer, status for tjenester, tilgængeligheden af ​​computere eller mængden af ​​ledig diskplads, blandt andre enheder eller hændelser.

Skemaforespørgsler: Disse forespørgsler bruges til at få detaljer om strukturen af ​​WMI-skemaet.

Kørsel af en forespørgsel

Lad os se, hvordan man kører en objektforespørgsel.

Følgende metode angiver, hvordan man kontrollerer WIN_32-processer på et lokalt system.

Værktøjet WMI Tester udføres via kommandolinjen ved at indtaste wbemtest.exe.

Følgende vindue vil dukke op.

  Sådan åbner du Apps-listen på Windows 11

For at oprette forbindelse til WMI-navneområdet, der indeholder den klasse, du vil forespørge på (RootCimv2 i de fleste tilfælde): klik på fanen Connect.

For at køre forespørgslen skal du klikke på fanen ‘Forespørgsel’ som vist nedenfor:

Indtast derefter den forespørgsel, som du vil hente oplysningerne for. Lad os f.eks. hente alle processer, der kører på det lokale system ved at køre:

select * From Win32_process

Når du har klikket på fanen Anvend, får du nedenstående resultater

Ovenstående GUI-baserede udførelse kan også udføres ved kommandoprompt gennem PowerShell:

I PowerShell-platformen bruges nedenstående kode for at få listen over alle win_32-processer:

Get-WmiObject -Class Win32_Process

For at få alle PowerShell-forespørgselsparametrene skal du besøge Microsoft PowerShell Management side.

For at køre denne forespørgsel i VBScript- og C-sprog skal Microsoft dokumentationsside ville give fuldstændig indsigt.

En anden metode til at forespørge WMI-lageret er gennem WMIC-kommandoen:

  • Kør CMD fra en kommandoprompt
  • Skriv WMIC og enter for at starte programmet
  • Så ændres kommandoprompten til wmic:rootcli>

Administratorer kan køre WMI-forespørgsler fra denne prompt.

For at indlæse CPU-oplysninger for et lokalt system for eksempel, vil kommandoen være:

wmic:rootcli> WMIC CPU

Resultaterne/oplysningerne vil blive vist i kommandoprompten.

AddressWidth  Architecture  AssetTag                Availability  Caption                                 Characteristics  ConfigManagerErrorCode  ConfigManagerUserConfig  CpuStatus  CreationClassName  CurrentClockSpeed  CurrentVoltage  DataWidth  Description                             DeviceID  ErrorCleared  ErrorDescription  ExtClock  Family  InstallDate  L2CacheSize  L2CacheSpeed  L3CacheSize  L3CacheSpeed  LastErrorCode  Level  LoadPercentage  Manufacturer  MaxClockSpeed  Name                                      NumberOfCores  NumberOfEnabledCore  NumberOfLogicalProcessors  OtherFamilyDescription  PartNumber              PNPDeviceID  PowerManagementCapabilities  PowerManagementSupported  ProcessorId       ProcessorType  Revision  Role  SecondLevelAddressTranslationExtensions  SerialNumber            SocketDesignation  Status  StatusInfo  Stepping  SystemCreationClassName  SystemName  ThreadCount  UniqueId  UpgradeMethod  Version  VirtualizationFirmwareEnabled  VMMonitorModeExtensions  VoltageCaps
64            9             To Be Filled By O.E.M.  3             Intel64 Family 6 Model 142 Stepping 10  252                                                               1          Win32_Processor    1801               7               64         Intel64 Family 6 Model 142 Stepping 10  CPU0                                      100       205                  1024                       6144         0                            6      31              GenuineIntel  1801           Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz  4              4                    8                                                  To Be Filled By O.E.M.                                            FALSE                     BFEBFBFF000806EA  3                        CPU   TRUE                                     To Be Filled By O.E.M.  U3E1               OK      3                     Win32_ComputerSystem     RENEE-HP     8                      51                      FALSE                          TRUE

For mere information om WMIC Alias ​​og verber, besøg Microsoft wmic.

Ofte stillede spørgsmål om WMI

Hvilke porte bruges i WMI?

De anvendte porte er 49152 og 65535. DCOM (Distributed Component Object Model), som WMI er baseret på, anvender som standard en tilfældigt valgt TCP-port til forbindelser mellem 49152 og 65535.

Er WMI forældet?

WMI understøttes stadig. Fra Windows 10, version 21H1 og den halvårlige kanaludgivelse af Windows Server 21H1 understøttes WMI-kommandolinjeprogrammet (WMIC) ikke længere.

Hvad er WMI-overvågningsværktøjer?

Der er mange tilgængelige værktøjer til at overvåge WMI. En håndfuld er dog særligt populære:
SolarWinds WMI Monitor med server og applikationsmonitor
Paessler WMI Service Sensor med PRTG
Nagios XI
Sapien WMI Explorer
Gratis værktøjer er WMI Explorer, Adrem Free WMI Tools

Sådan fejlfindes WMI-problemer

Du kan muligvis se fejl lige fra manglende klasser til adgangsovertrædelser, mens du forsøger at få adgang til WMI lokale eller eksterne data i et program eller script. Tjek Microsoft WMI fejlfindingsvejledning at få løsninger på sådanne fejl.

Konklusion

Generelt er Windows Management Instrumentation et stærkt værktøj, der kan bruges til at håndtere en lang række forskellige Windows-systemrelaterede funktioner. WMI kan være et meget nyttigt værktøj for alle, der beskæftiger sig med Windows-systemer, på trods af at det i begyndelsen kan virke skræmmende.