En kort veiledning om Windows Management Instrumentation (WMI)

Rammeverket for ledelsesinformasjon og aktiviteter på Windows-baserte operativsystemer kalles Windows Management Instrumentation (WMI).

WMI gir også administrasjonsdata til andre komponenter i operativsystemet og produktene, for eksempel SCOM (System Center Operations Manager) eller Windows Remote Management.

Hva er Windows Management Instrumentation (WMI?)

WMI er en plattform for å administrere og overvåke operativsystemet og andre Microsoft-applikasjoner og tjenester på personlige datamaskiner, servere og andre nettverksenheter.

WMI tilbyr et omfattende, skalerbart og brukervennlig programmeringsgrensesnitt som gir programmatisk tilgang til informasjon og tjenester på Microsoft-administrerte datamaskiner og andre nettverksenheter.

Den brukes til å oppdage og overvåke operativsystemet, tjenestene og applikasjonene på datamaskinen, samt register- og filsystemdata. Den brukes også til å lage og administrere skript og programmer som automatiserer administrasjon og administrasjon av datamaskinen.

Den bruker programmeringsspråket WQL (Windows Query Language) for å søke etter informasjon og utføre operasjoner på operativsystemet, datamaskiner og enheter.

Det gir deg også tilgang til PowerShell, et av de kraftigste og mest fleksible administrasjonsverktøyene for Windows, som du kan bruke til å lage automatiseringsskript.

Videre lar WMI deg konstruere tilpassede applikasjoner som gir ekstra funksjonalitet for administrasjon og administrasjon av Windows-systemer og applikasjoner.

Brukere som trenger å overvåke maskinens tilstand, gjøre grunnleggende feilsøking og samle ytelsesdata vil finne WMI praktisk.

Hva er hensikten med WMI?

WMI er nyttig i et Windows-bedriftsnettverk fordi det forenkler driften og administrasjonen av bedriftens nettverkskomponenter ved å levere data til andre produkter for ytterligere forbedring og skalerbarhet.

Hele formålet med WMI er å gi en enhetlig administrasjonsrammeopplevelse på tvers av alle aspekter av et Windows-system, for eksempel:

  • Operativsystemkomponenter
  • Prosesser og tråder
  • Tjenester
  • Enheter
  • Drivere
  • applikasjoner
  • Brukerkontoer
  • Sikkerhetsinnstillinger

Formålet med WMI-oppfinnelsen fører til reduserte kostnader og tid i drift og utvikling knyttet til Windows-systemer. WMI lar deg også overvåke systemhendelser og samle ytelsesdata. Disse dataene kan brukes til å feilsøke problemer eller til å spore trender over tid.

WMI brukes oftest til å automatisere administrative oppgaver og få tilgang til data uten å forholde seg direkte til operativsystemet. Som et resultat er WMI et fantastisk alternativ for administratorer og programvareutviklere som trenger å automatisere tidkrevende prosesser.

Alt fra overvåking av systemytelse til innhenting av applikasjonsdata er mulig med den. Det gjør det mulig for utviklere å lage smartere, mer intelligente applikasjoner samtidig som det sikrer at IT-administratorer kan fullføre oppgavene sine med minimal innsats.

WMI gir en referanseimplementering for tilgang til systeminformasjon og er et nøkkelverktøy for å administrere og overvåke Windows-systemer. Det er hjørnesteinen for Azure Machine Learning og AzureML, og den brukes til å drive et bredt spekter av tredjepartsprodukter.

  Fiks Windows 10 Update Error 0x80190001

Bruk av WMI

Windows Management Instrumentation (WMI) er Microsofts leveranse av Web-Based Enterprise Management (WBEM), et industriinitiativ for å utvikle standardiserte teknologier for å få tilgang til informasjon om bedriftsstyring.

WMI representerer systemer, applikasjoner, nettverk, enheter og andre administrerte komponenter som bruker industristandarden Common Information Model (CIM). DMTF (Distributed Management Task Force) oppretter og vedlikeholder CIM.

WMI-design er allsidig, og støtter et bredt spekter av administrasjons- og administrasjonsoppgaver, samt gir en fleksibel og utvidbar arkitektur som lar produsenter skrive nye WMI-leverandører for å støtte nye enheter, applikasjoner og andre fremskritt.

Andre bruksområder er:

  • Omfattende administrasjon av Windows-operativsystemet og Microsofts nettverksenheter og tjenester.
  • Den kan brukes til å koble til eksterne datamaskiner for å få tilgang til WMI-data
  • Oppdager informasjon om systemet, for eksempel hvilke programmer som kjører og hvilke tjenester som er satt opp.
  • For å hente informasjon om maskinvarespesifikasjoner og utføre handlinger, for eksempel å slå av eller starte systemet på nytt.
  • Starte applikasjoner, starte, stoppe, konfigurere tjenester og få tilgang til data.
  • Utviklere av administrasjonsapplikasjoner kan bruke denne APIen til å lage skript i Visual Basic eller Windows Scripting Host (WSH).

WMI-arkitektur

WMI (Windows Management Instrumentation) er en Microsoft-teknologi som opprinnelig ble presentert i Windows 2000. Den lar programmerere konstruere administrasjonsprogrammer som fungerer med alle systemer som støtter WMI.

La oss se arkitekturen og terminologien til WMI.

Flyten av WMI-arkitektur starter fra Objekter: En komponent som en harddisk, nettverkskort, operativsystem eller tjeneste er et administrert objekt (som kan administreres via WMI). WMI-infrastruktur mottar data fra et objekt gjennom en leverandør. Den gir og mottar meldinger fra WMI og overleverer dem til objektet.

En WMI-leverandør består av en DLL og en MOF-fil (Managed Object Format) som overvåker hendelser og data fra objekter. WMI kategoriserer leverandører i henhold til funksjonaliteten som tilbys av leverandørens grensesnitt.

Det er mange innebygde WMI-leverandører i Windows, inkludert en Active Directory-leverandør, Boot Configuration Data (BCD) WMI-leverandør, Distributed File System (DFS)-leverandør, Event Log-leverandør, Hyper-V WMI-leverandør, Win32-leverandør, Registry-leverandør, og SNMP-leverandør.

WMI-infrastrukturen er en komponent av Microsoft Windows-operativsystemet kjent som WMI-tjenesten (winmgmt). WMI Core og WMI Repository er de to delene av WMI-infrastrukturen.

WMI-depotet er en hierarkisk datalagring organisert av WMI-navneområder, ofte kjent som Common Information Model (CIM). WMI-tjenesten etablerer en rekke navneområder ved oppstart av systemet, inkludert root-standard, rootcimv2 og root-abonnement.

I tillegg produserer tjenesten et standardsett med klassedefinisjoner, som inkluderer systemklassene Win32 og WMI. Andre WMI-navneområder kan opprettes av flere WMI-leverandører, og hvert navneområde inneholder flere WMI-objekter.

WMI-tjenesten fungerer som et mellomledd mellom leverandørene, administrasjonsapplikasjonene og WMI-depotet. Bare statiske data om objekter lagres i depotet, for eksempel klassene som er definert av leverandører. WMI henter de fleste data dynamisk fra leverandøren når en klient ber om det.

  Reparer AdbwinApi.dll mangler feil i Windows 10

En WMI-forbruker er en administrasjonsapplikasjon eller et skript som kommuniserer med WMI-infrastrukturen. Ved å bruke COM API for WMI eller Scripting API for WMI, kan et administrasjonsprogram spørre, spesifisere data, kjøre leverandørmetoder og abonnere på hendelser.

WMI oppretter et standardisert grensesnitt for ekstern og lokal henting av administrasjonsdata. Det enhetlige grensesnittet abstraherer fra operativsystemets applikasjonsprogrammeringsgrensesnitt (API). Dette lar apper og skript samle inn administrasjonsdata uten å måtte vite om operativsystemets API.

Hvordan kjører jeg en WMI-spørring?

En funksjon ved WMI-plattformens allsidighet er muligheten til å spørre etter depotet for å få detaljer om klassen, forekomsten eller skjemadataene. Disse beregningene er knyttet til beholdningen av lokale og fjerne systemer, operativsystemer, programvare og andre administrative aktiviteter.

Type spørringer

Stort sett er det to typer spørringer som brukes til å hente informasjon fra WMI-depotet:

Synchronous Query: Det er en spørring som holder kontroll over applikasjonens drift gjennom hele spørringen. Det er enklere enn et asynkront anrop fordi det bare tar ett grensesnittanrop. For store søk eller nettverksbaserte henvendelser kan det imidlertid fryse søknaden din.

Asynkron spørring: Når hastigheten til et system eller nettverk vil bli påvirket av å forespørre en betydelig gruppe data, er en asynkron spørring en foretrukket type å bruke.

WQL (WMI Query Language)

En av de populære metodene for å spørre WMI er WMI Query Language.

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

Velg, Fra og Hvor er de grunnleggende WQL-setningene som brukes til å starte spørringen.

En typisk WMI-spørring starter med å velge alle egenskapene fra en WMI-klasse ved å bruke «Select»-kommandoen. Stjernen (“*”) brukes til å velge hver egenskap fra en WMI-klasse. Man kan bruke nøkkelordet «Fra» for å spesifisere WMI-klassen som skal søkes etter å ha valgt egenskapene (en eller flere egenskaper, eller alle). Du kan sjekke SQL-juksearket for den nøyaktige syntaksen.

WQL kan kjøres gjennom WMI Tester (wbemtest.exe), som er som standard installert med Windows-operativsystemet. WMI-spørringer kan også utføres gjennom Windows PowerShell, VBScript og C-språk.

Type WQL-spørringer

WQL-spørringene brukes til å få tre forskjellige typer informasjon.

Objektspørringer: Informasjon om Windows-systemressurser kan hentes ved hjelp av disse spørringene.

Hendelsesspørringer: Disse spørringene brukes til å spore endringer i hendelseslogger, igangsetting av prosesser, status for tjenester, tilgjengeligheten til datamaskiner eller mengden ledig diskplass, blant andre enheter eller hendelser.

Schema Queries: Disse spørringene brukes til å få detaljer om strukturen til WMI-skjemaet.

Kjøre en spørring

La oss se hvordan du kjører en objektspørring.

Følgende metode angir hvordan du sjekker WIN_32-prosesser på et lokalt system.

Verktøyet WMI Tester kjøres gjennom kommandolinjen ved å skrive inn wbemtest.exe.

Følgende vindu vil dukke opp.

  Slik fjerner du vannmerket 'Systemkrav ikke oppfylt' i Windows 11

For å koble til WMI-navneområdet som inneholder klassen du vil spørre etter (RootCimv2 i de fleste tilfeller): klikk på koble til-fanen.

For å kjøre spørringen, klikk på «Spørring»-fanen som vist nedenfor:

Skriv deretter inn spørringen du ønsker å hente informasjonen for. La oss for eksempel hente alle prosesser som kjører på det lokale systemet ved å kjøre:

select * From Win32_process

Etter å ha klikket på bruksfanen får du resultatene nedenfor

Ovennevnte GUI-basert kjøring kan også utføres ved ledetekst gjennom PowerShell:

I PowerShell-plattformen, for å få listen over alle win_32-prosesser, brukes koden nedenfor:

Get-WmiObject -Class Win32_Process

For å få alle PowerShell-spørringsparametrene, gå til Microsoft PowerShell-administrasjon side.

For å kjøre denne spørringen i VBScript og C-språk, Microsoft dokumentasjonsside ville gi fullstendig innsikt.

En annen metode for å spørre WMI-depotet er gjennom WMIC-kommandoen:

  • Kjør CMD fra en ledetekst
  • Skriv WMIC og enter for å starte programmet
  • Deretter vil ledeteksten endres til wmic:rootcli>

Administratorer kan kjøre WMI-spørringer fra denne ledeteksten.

For eksempel, for å laste CPU-informasjon for et lokalt system, vil kommandoen være:

wmic:rootcli> WMIC CPU

Resultatene/informasjonen vises i ledeteksten.

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 mer informasjon om WMIC Alias ​​og verb, besøk Microsoft wmic.

Vanlige spørsmål om WMI

Hvilke porter brukes i WMI?

Portene som brukes er 49152 og 65535. DCOM (Distributed Component Object Model) som WMI er basert på, bruker en tilfeldig valgt TCP-port for tilkoblinger mellom 49152 og 65535 som standard.

Er WMI avviklet?

WMI støttes fortsatt. Fra og med Windows 10, versjon 21H1 og den halvårlige kanalutgivelsen av Windows Server 21H1, støttes ikke lenger WMI-kommandolinjeprogrammet (WMIC).

Hva er WMI-overvåkingsverktøy?

Det er mange tilgjengelige verktøy for å overvåke WMI. Imidlertid er en håndfull spesielt populære:
SolarWinds WMI Monitor med server og applikasjonsmonitor
Paessler WMI Service Sensor med PRTG
Nagios XI
Sapien WMI Explorer
Gratis verktøy er WMI Explorer, Adrem Free WMI Tools

Slik feilsøker du WMI-problemer

Du kan se feil som spenner fra manglende klasser til tilgangsbrudd mens du forsøker å få tilgang til WMI lokale eller eksterne data i et program eller skript. Undersøk Microsoft WMI feilsøkingsveiledning for å få løsninger på slike feil.

Konklusjon

Generelt er Windows Management Instrumentation et sterkt verktøy som kan brukes til å håndtere en lang rekke forskjellige Windows-systemrelaterte funksjoner. WMI kan være et veldig nyttig verktøy for alle som arbeider med Windows-systemer, til tross for at det i utgangspunktet kan virke skremmende.