Кіріспе

Windows интерфейсі мониторинг және хабарландыру үшін

Windows басқару құралдары (WMI) Windows драйверлік моделіне енгізілген кеңейтімдер жиынтығынан тұрады, ол операциялық жүйе интерфейсін қамтамасыз етеді, оның арқылы құралдандырылған компоненттер ақпаратты және хабарламаларды жібереді. WMI – Microsoft компаниясының Distributed Management Task Force (DMTF) ұйымының Web Based Enterprise Management (WBEM) және Common Information Model (CIM) стандарттарын іске асыруы болып табылады. WMI скрипт тілдеріне (мысалы, VBScript немесе Windows PowerShell) Microsoft Windows жеке компьютерлерін және серверлерін жергілікті және қашықтықтан басқаруға мүмкіндік береді. WMI Windows 2000-ден Windows 11-ге дейінгі операциялық жүйелерге алдын ала орнатылған. Ол Windows NT және Windows 95-тен Windows 98-ге дейін жүктеу арқылы қолжетімді. Microsoft сонымен қатар WMI үшін Windows Management Instrumentation Command line (WMIC) деп аталатын командалық жол интерфейсін ұсынады. Дегенмен, WMIC Windows 10, 21H1 нұсқасынан бастап, Windows 11 және Windows Server 2022-де қолданылмайды.

WMI-нің мақсаты

WMI-нің мақсаты – басқару бағдарламалары арасында басқару ақпаратын бөлісуге мүмкіндік беретін, қоршаған ортаға тәуелсіз, эксклюзивті ерекшеліктер жиынтығын анықтау болып табылады. WMI Windows жүйесі үшін корпоративтік басқару стандарттарын және қолданыстағы басқару стандарттарымен, мысалы, Жұмыс үстелінің басқару интерфейсі (DMI) және SNMP сияқты технологиялармен үйлесімді жұмыс істейтін стандарттарды белгілейді. WMI бұл стандарттарды бірыңғай модельмен толықтырады. Бұл модель басқарылатын ортаны көрсетеді, оның арқылы кез келген дереккөзден алынған басқару деректеріне бірыңғай тәсілмен қол жеткізуге болады.

Ерекшеліктері

Бір немесе бірнеше WMI провайдерлерін жасауға дайын адам үшін WMI көптеген мүмкіндіктерді ұсынады. Ең маңызды артықшылықтары:

Автоматтандыру интерфейстері: WMI пайдалануға дайын автоматтандыру интерфейстерінің жиынтығымен бірге келетіндіктен, WMI провайдері және оның кластар жиынтығы қолдайтын барлық басқару мүмкіндіктері дереу скрипттік қолдау алады. WMI класын жобалау және провайдерді жасаудан басқа, Microsoft әзірлеу және сынау командалары скрипт моделін жасау, тексеру немесе сынау қажеттілігінен босатылады, себебі ол WMI арқылы қолжетімді.

.NET басқару интерфейстері: System.Management кеңестігі қолданыстағы COM/DCOM құбырларына сүйенгендіктен, жасалған WMI провайдері мен оның WMI кластар жиынтығы тілге қарамастан (мысалы, C#, VB.NET) барлық .NET қолданбалары үшін автоматты түрде қолжетімді болады. WMI класын жобалау және провайдерді жасаудан басқа, скрипттеу сияқты, Microsoft әзірлеу және сынау командалары .NET Framework-те жаңа кеңестікті қолдау үшін жаңа жиналымдарды жасауға, тексеруге және сынауға міндетті емес, себебі бұл қолдау WMI арқылы тегін қолжетімді.

C/C++ COM/DCOM бағдарламалау интерфейстері: Windows-тағы көптеген компоненттер сияқты, COM/DCOM бағдарламашылары жасаған провайдерлерінің мүмкіндіктерін COM/DCOM интерфейстері деңгейінде пайдалана алады. Бұрынғы орталардағыдай (скрипттеу және .NET Framework), COM/DCOM тұтынушысына WMI COM интерфейстерінің стандартты жиынтығымен өзара әрекеттесу қажет, WMI провайдерінің мүмкіндіктерін және оның қолдау көрсетілетін WMI кластар жиынтығын пайдалану үшін. Барлық басқару ақпаратын жергілікті API-ден алу үшін WMI провайдерін әзірлеушіге алдын ала анықталған WMI COM интерфейстерінің жиынтығымен өзара әрекеттесу қажет. Бұл басқару ақпаратын WMI COM деңгейінде автоматты түрде қолжетімді етеді. Сонымен қатар, скрипт COM интерфейсінің объектілік моделі COM/DCOM интерфейсінің объектілік моделіне өте ұқсас, бұл әзірлеушілерге скрипт тәжірибесімен танысуды жеңілдетеді.

DCOM және SOAP арқылы қашықтықтан басқару мүмкіндіктері: Басқару қашықтықтан басқаруға байланысты болғандықтан, WMI DCOM тасымалын ұсынады. Сонымен қатар, SOAP тасымалы Windows Server 2003 R2 бағдарламасында Microsoft, Intel, Sun Microsystems және Dell бастамалары арқылы WS Management бастамасы арқылы қолжетімді болады. Бұл бастама кез келген скрипттерді қашықтан орындауға немесе SOAP сұраныстарын және жауаптарды басқаратын интерфейстердің арнайы жиынтығы арқылы WMI деректерін пайдалануға мүмкіндік береді. WMI провайдерін әзірлеушінің артықшылығы - ол барлық мүмкіндіктерін WMI арқылы ашқанда, Windows қашықтан басқару / WS басқару өз кезегінде осы ақпаратты да пайдалана алады (WMI инстанцияларындағы кіріктірілген объектілер Windows Server 2003 R2-де қолдау таппайды. Алайда бұл Vista үшін мақсат болып табылады). WS Management-ке барлық қабаттау және CIM деректер моделінің SOAP-ке сәйкестігі WMI/WS Management шешімінен тегін шығады. DCOM қолданылуы керек болған жағдайда, DCOM-ды іске асыру үшін әр клиент машинасына орналастырылған прокси DLL болуы қажет. WMI Windows 2000 операциялық жүйесінде қолжетімді болғандықтан, бұл мәселелер жойылады.

Сұрауларды қолдау: WMI WQL сұрауларын қораптан тыс қолдайды. Бұл дегеніміз, егер провайдер сұрауларды қолдау үшін жасалмаса, WMI оны провайдерден шыққан санау техникасын қолдану арқылы қолдайды.

Оқиға мүмкіндіктері: WMI абонентке ол қызығушылық танытатын кез келген оқиға туралы хабарлау мүмкіндігін ұсынады. WMI WQL оқиға сұраныстарын жіберу үшін WMI Query Language (WQL) қолданады және қайтарылатын оқиғалардың түрін анықтайды. Барлық байланысты кері шақырулармен бірге оқиғалар механизмі WMI COM/DCOM және автоматтандыру интерфейстерінің бөлігі болып табылады. WMI провайдеріне жазған кез келген адам бұл функционалдылықтан өз клиенттері үшін ешқандай шығыссыз пайдалана алады. WMI провайдері және WMI кластар жиынтығы арқылы берілетін басқару туралы ақпаратты тұтынуды қалайтынын тұтынушы өзі шешеді.

Код үлгісін жасаушы: Барлық COM/DCOM интерфейстерін және байланысты анықтамалармен қоса WMI провайдерін жазу процесін жеделдету үшін WMI тобы провайдерді іске асыратын код үлгісін жасау үшін WMI ATL Wizard бағдарламасын әзірледі. Шығарылған код бастапқыда әзірлеуші жасаған WMI кластық моделіне негізделген. WMI провайдерін әзірлеуші WMI провайдерінің алдын ала анықталған COM/DCOM интерфейстерін өзінің жергілікті API жиынтығымен байланыстыруға қабілетті болады. Бұл жаттығу қажетті интерфейстік логиканы құру үшін провайдер кодындағы "бос орындарды" толтырудан тұрады.

Болжамдылық: Болжамдылық - IT-кәсіпкерлері үшін маңызды мәселе, өйткені ол Windows компонентін басқару интерфейстерімен тәжірибесі бар адамның осы білімін кез келген басқарылатын Windows компонентіне бірден, интуитивті түрде қолдану қабілетін анықтайды, ештеңені бастапқыдан үйренудің қажеті жоқ. Тұтынушы үшін болжамдылық - нақты пайда, өйткені ол Инвестицияның қайтарымын (ROI) арттырады. Мұндай жағдайға тап болған адам бұрынғы тәжірибесіне сүйене отырып, нәрселердің бірдей жұмыс істеуін күтеді. COM бағдарламалау/скрипт интерфейстерінің үнемі өсуі болжамдылыққа үлкен әсер етеді, өйткені бұл тұтынушылар үшін Windows-ты автоматтандыруды, басқаруды және қолданыстағы білімдерін пайдалануды қиындатады. WMI және CIM бұл мәселені басқарылатын объектіге қарамастан, әрқашан бірдей бағдарламалау объектілік моделін (COM/DCOM, Автоматтандыру, .NET) ұсына отырып шешеді.

Қолданыстағы клиенттік инвестицияларды қорғау: Клиенттер мен серіктестердің инвестицияларын қорғау оларды технологияларға инвестициялауға ынталандырады. Microsoft WMI провайдерлерін жазуға көп инвестиция салғандықтан, клиенттер мен серіктестер Windows мүмкіндіктерін пайдаланатын құралдарға инвестиция салды. Сондықтан олар әр басқарылатын Windows компоненті үшін жаңа интерфейстер жиынтығын пайдаланудың орнына осы мүмкіндіктерді пайдалануды жалғастырады. Интерфейстердің арнайы жиынтығы - компонентке немесе технологияға арналған жаңа модельге немесе интерфейстер жиынтығына негізделген арнайы агенттердің немесе ішкі әзірленген бағдарламалық құралдардың болуын білдіреді. Бүгін WMI мүмкіндіктерін пайдалану арқылы клиенттер мен серіктестер бұрын жасалған жұмысты пайдалана алады, сонымен қатар даму, оқу қиындықтары және жаңа жаңалықтар бойынша шығындарын азайтады. Бұл олардың инфрақұрылымының тұрақтылығы мен сенімділігіне де үлкен әсер етеді, өйткені олар жақсартылған технологиямен қолданыстағы іске асыруды жалғастырады.

Логикалық және біріктірілген басқару моделін ұсыну: Бұрынғыда кіріспеде қысқаша сипатталғандай, бұл модель DMTF (https://www.dmtf.org/) анықтаған өнеркәсіп стандарты CIM негізінде құрылған. CIM кластық схемасы өнеркәсіптің талаптарына жауап беретін құрылысшылар мен бағдарламалық құралдарды әзірлеушілер консорциумымен анықталған. Бұл Microsoft ғана емес, кез келген басқа үшінші тарап құрылысшылары немесе әзірлеушілер де модельге сәйкес өзінің кодын жаза алады дегенді білдіреді. Мысалы, Intel осыны желілік драйвер адаптерлерінің және бағдарламалық құралдарының кейбір бөлімдері үшін жасап жатыр. HP қолданыстағы WMI провайдерлерін пайдаланады және HP Open View Enterprise Management бағдарламалық құралында өзінің WMI провайдерлерін іске асырады. IBM Tivoli басқару жиынтығынан WMI-ды тұтынушы, MOM және SMS сондай-ақ WMI ақпаратын тұтыну және ұсынуда. Соңғысы, Windows XP SP2 антивирустік бағдарламалық құралдар мен брандмауэрлерден ақпаратты алу үшін WMI-ды пайдаланады.

WMI драйверінің кеңейтулері

WDM-ге арналған WMI кеңейтімдері ядролық деңгейде құралдарды ұсынады, мысалы, ақпаратты жариялау, құрылғы параметрлерін конфигурациялау, құрылғы драйверлерінен оқиға туралы хабарлама жіберу және WDM провайдері деп аталатын WMI провайдері арқылы әкімшілерге деректер қауіпсіздігін орнатуға мүмкіндік береді. Бұл кеңейтімдер WDM архитектурасының бір бөлігі болып табылады, бірақ олардың қолданылу аймағы кең және басқа да драйвер түрлерімен (мысалы, SCSI және NDIS) де пайдаланылуы мүмкін. WMI драйверлік кеңейтімдер қызметі WMI немесе оқиғаларды іздеу туралы ақпаратты жариялауға конфигурацияланған барлық драйверлер мен оқиғаларды іздеу провайдерлерін қадағалайды. WDM үшін WMI кеңейтімдеріне арналған драйверлер арқылы құрал-жабдық деректері ұсынылады. WDM үшін WMI кеңейтімдері Windows-қа тән драйвер модельдерінде деректерді бақылауға арналған Windows құрылғы драйвер интерфейстері жиынтығын қамтамасыз етеді, соның арқасында OEM және IHV өндірушілер құрылғы деректерін оңай кеңейтіп, аппараттық-бағдарламалық шешімдерге құндылық қоса алады. Дегенмен, WMI драйверлік кеңейтімдері Windows Vista және одан кейінгі операциялық жүйелерде қолдау көрсетілмейді.