WMI

Windows Management Instrumentation (WMI) înseamnă literalmente Windows Management Instrumentation . WMI este una dintre tehnologiile de bază pentru gestionarea și monitorizarea centrală a funcționării diferitelor părți ale unei infrastructuri de computer care rulează pe platforma Windows.

Prezentare generală

Tehnologia WMI este o implementare extinsă și adaptată pentru Windows a standardului WBEM ( în engleză ), adoptat de multe companii, care se bazează pe ideea creării unei interfețe universale pentru monitorizarea și gestionarea diferitelor sisteme și componente ale unui sistem distribuit. mediul de informare al întreprinderii folosind ideologii orientate pe obiecte și protocoale HTML și XML.

Structura datelor din WBEM se bazează pe Modelul Informațional Comun (CIM), care implementează o abordare orientată pe obiect pentru reprezentarea componentelor sistemului. CIM este un model extensibil care permite programelor, sistemelor și driverelor să-și adauge propriile clase, obiecte, metode și proprietăți.

WMI, bazat pe CIM, este, de asemenea, un sistem deschis și unificat de interfețe pentru a accesa orice setări ale sistemului de operare, dispozitive și aplicații care rulează pe acesta.

O caracteristică importantă a WMI este că obiectele stocate în el corespund resurselor dinamice, adică parametrii acestor resurse sunt în continuă schimbare, astfel încât parametrii unor astfel de obiecte nu sunt stocați permanent, ci sunt creați la cererea consumatorului de date. . Magazinul de proprietăți al obiectelor WMI se numește depozit și se află în folderul de sistem al sistemului de operare Windows:

% SystemRoot% \ System32 \ WBEM \ Repository

Clasuri, evenimente și securitate WMI

Deoarece WMI este construit pe o bază orientată pe obiecte, toate datele sistemului de operare sunt reprezentate ca obiecte și proprietățile și metodele acestora.

Toate clasele sunt grupate în spații de nume care sunt ordonate ierarhic și legate logic între ele printr-o anumită tehnologie sau zonă de control. WMI are un spațiu de nume rădăcină, Root, care la rândul său are 4 subspații: CIMv2, Default, Security și WMI.

Clasele au proprietăți și metode și sunt dependente ierarhic unele de altele, adică clasele descendente pot moșteni sau suprascrie proprietățile claselor părinte, precum și să adauge propriile proprietăți.

Proprietățile clasei sunt folosite pentru a identifica în mod unic o instanță a unei clase și pentru a descrie starea resursei utilizate. De obicei, toate proprietățile clasei sunt doar în citire, deși unele dintre ele pot fi modificate printr-o anumită metodă. Metodele de clasă vă permit să efectuați acțiuni pe o resursă gestionată.

Fiecare instanță de clasă poate fi accesată printr-o cale completă, care are următoarea structură:

[\\ ComputerName \ NameSpace ][ : ClassName ][ . KeyProperty1 = Value1 ][ , KeyProperty2 = Value2 ] ] unde ComputerName este numele computerului NameSpace este numele spațiului de nume ClassName este numele clasei KeyProperty1 = Value1 , KeyProperty2 = Value2 sunt proprietățile obiectului și valoarea prin care este identificat .

Un exemplu de accesare a unui proces numit „Calc.exe” care rulează pe mașina locală:

\\ . \ CIMv2 : Win32_Process . Nume = "Calc.exe"

Instanțe de clase pot genera evenimente la care vă puteți abona. Când are loc un eveniment, WMI creează automat o instanță a clasei căreia îi corespunde evenimentul. Este convenabil să folosiți un astfel de mecanism pentru a executa o anumită comandă atunci când are loc un anumit eveniment, adică pentru a monitoriza starea obiectelor sistemului de operare.

Securitatea generală în WMI este implementată la nivel de sistem de operare, iar politica de securitate suplimentară se bazează pe spațiul de nume DCOM și nivelurile de protocol. Adică dacă utilizatorul nu are dreptul să facă vreo acțiune prin sistemul de operare, nici prin WMI nu o va putea face. Dacă utilizatorului i se acordă un fel de drept în sistemul de operare, atunci acest lucru nu înseamnă că acest drept va fi și în WMI, deoarece WMI are setări de securitate suplimentare la nivel de spațiu de nume.

Fiecare obiect de sistem de operare are propria sa descriere de securitate (SD) cu propria listă de acces (ACL), care listează identificatorii de utilizator (SID) și privilegiile acestora. Fiecare spațiu de nume poate avea propriul SD cu propriul său ACL, unde utilizatorilor li se pot atribui permisiuni pentru a citi date, a executa metode, a scrie clase și date și altele. Informațiile suplimentare privind permisiunile sunt stocate în depozitul WMI. Clasele separate de spațiile de nume nu au propriile declarații de securitate, le moștenesc din spațiul lor de nume.

În mod implicit, administratorul computerului are drepturi depline pentru a utiliza WMI, iar alți utilizatori pot apela numai metode, citi date și scrie instanțe ale claselor furnizorului WMI în depozit.

Pentru a accesa infrastructura WMI se folosește protocolul DCOM, prin care utilizatorul se conectează la WMI. Mecanismele de uzurpare a identității și autentificare ale protocolului DCOM sunt utilizate pentru a determina ce drepturi va avea utilizatorul conectat.

Nivelurile de uzurpare a identității pot lua următoarele valori:

Anonim Anonim Obiectul WMI nu poate obține informații despre utilizator - nu este permis accesul de acest tip
Identifica Identificare Obiectul WMI solicită jetonul de acces al utilizatorului - accesul este acordat doar local
uzurpa identitatea personificare Obiectul WMI are aceleași drepturi ca și utilizatorul - nivelul recomandat pentru executarea comenzilor pe un computer la distanță
delega Delegație Un obiect WMI poate accesa un alt obiect WMI în numele unui utilizator - nu este un nivel recomandat, deoarece comenzile pot fi executate de la distanță printr-un lanț de mai multe computere

Nivelurile de autentificare (autenticitate) pot lua următoarele valori:

Nici unul Dispărut Fără autentificare
Mod implicit Mod implicit Setări de securitate standard care sunt stabilite de computerul țintă al comenzii
Conectați Conexiune Verificați numai în timpul conexiunii la computerul țintă, nicio verificare în timpul funcționării
apel Apel Autentificare La fiecare cerere către computerul țintă, antetele pachetelor sunt semnate, dar conținutul nu este criptat
pkt Pachet Autentificarea tuturor pachetelor la computerul țintă al comenzii, antetele pachetelor sunt semnate, dar conținutul nu este criptat
PktIntegrity Integritatea pachetului Autentificarea și integritatea tuturor pachetelor către computerul țintă al comenzii, antetele pachetelor sunt semnate, dar conținutul nu este criptat
PktPrivacy Confidențialitatea pachetului Autentificarea și integritatea tuturor pachetelor către computerul țintă - comenzile, anteturile și conținutul pachetelor sunt semnate și criptate

Instrumente WMI

wmimgmt.msc  - Un snap-in MMC pentru configurarea WMI pe computerul local.

winmgmt.exe  este un utilitar de gestionare WMI bazat pe consolă pentru computerul local.

wbemtest.exe  este un utilitar grafic pentru interacțiunea cu structura WMI pe un computer local sau la distanță.

wmic.exe  este un utilitar de consolă pentru interacțiunea cu structura WMI pe un computer local sau la distanță.

mofcomp.exe  este un compilator MOF pentru extinderea cadrului WMI, gestionarea bibliotecii de clase WMI și restaurarea depozitului.

Limbajul de interogare WMI

Pentru a accesa obiectele WMI, se folosește un limbaj de interogare specific WMI Query Language (WQL), care este una dintre varietățile de SQL. Principala sa diferență față de ANSI SQL este imposibilitatea modificării datelor, adică, cu ajutorul WQL, este posibilă doar selecția datelor folosind comanda SELECT. Pe lângă restricțiile privind lucrul cu obiecte, WQL nu acceptă operatori precum DISTINCT, JOIN, ORDER, GROUP, funcții matematice. Construcțiile IS și NOT IS sunt utilizate numai în combinație cu constanta NULL.

Interogările WQL sunt de obicei folosite în scripturi, dar pot fi testate și în programul Wbemtest și în utilitarul consolei Wmic (utilitatea wmic nu necesită scrierea cuvântului cheie SELECT și a câmpurilor de selectare)

Referințe

Vezi și