Struktura informacji i działań związanych z zarządzaniem w systemach operacyjnych opartych na systemie Windows nosi nazwę Instrumentacja zarządzania Windows (WMI).
Usługa WMI dostarcza również dane zarządzania do innych składników systemu operacyjnego i produktów, takich jak SCOM (System Center Operations Manager) lub Windows Remote Management.
Spis treści:
Co to jest Instrumentacja zarządzania Windows (WMI?)
WMI to platforma do zarządzania i monitorowania systemu operacyjnego oraz innych aplikacji i usług firmy Microsoft na komputerach osobistych, serwerach i innych urządzeniach sieciowych.
Usługa WMI zapewnia wszechstronny, skalowalny i łatwy w użyciu interfejs programistyczny, który zapewnia programowy dostęp do informacji i usług na komputerach zarządzanych przez firmę Microsoft i innych urządzeniach sieciowych.
Służy do wykrywania i monitorowania systemu operacyjnego, usług i aplikacji na komputerze, a także danych rejestru i systemu plików. Służy również do tworzenia i zarządzania skryptami i programami, które automatyzują zarządzanie i administrację komputerem.
Wykorzystuje język programowania WQL (Windows Query Language) do wyszukiwania informacji i wykonywania operacji na systemie operacyjnym, komputerach i urządzeniach.
Daje również dostęp do PowerShell, jednego z najpotężniejszych i najbardziej elastycznych narzędzi administracyjnych dla systemu Windows, którego możesz używać do tworzenia skryptów automatyzacji.
Ponadto WMI umożliwia tworzenie niestandardowych aplikacji, które zapewniają dodatkową funkcjonalność do zarządzania i administrowania systemami i aplikacjami Windows.
Użytkownicy, którzy muszą monitorować stan swoich maszyn, wykonywać podstawowe rozwiązywanie problemów i zbierać dane o wydajności, uznają WMI za przydatne.
Jaki jest cel WMI?
Usługa WMI jest przydatna w sieci korporacyjnej z systemem Windows, ponieważ upraszcza obsługę i zarządzanie składnikami sieci korporacyjnej poprzez dostarczanie danych do innych produktów w celu dalszego ulepszenia i skalowalności.
Głównym celem WMI jest zapewnienie ujednoliconej struktury zarządzania we wszystkich aspektach systemu Windows, takich jak:
- Komponenty systemu operacyjnego
- Procesy i wątki
- Usługi
- Urządzenia
- Kierowcy
- Aplikacje
- Konta użytkowników
- Ustawienia bezpieczeństwa
Cel wynalazku WMI prowadzi do zmniejszenia kosztów i czasu operacji i rozwoju związanych z systemami Windows. WMI umożliwia również monitorowanie zdarzeń systemowych i zbieranie danych dotyczących wydajności. Te dane mogą służyć do rozwiązywania problemów lub śledzenia trendów w czasie.
Usługa WMI jest najczęściej używana do automatyzacji prac administracyjnych i uzyskiwania dostępu do danych bez bezpośredniego kontaktu z systemem operacyjnym. W rezultacie WMI jest fantastyczną alternatywą dla administratorów i programistów, którzy muszą zautomatyzować czasochłonne procesy.
Dzięki niemu możliwe jest wszystko, od monitorowania wydajności systemu po pozyskiwanie danych aplikacji. Umożliwia programistom tworzenie inteligentniejszych, bardziej inteligentnych aplikacji, zapewniając jednocześnie administratorom IT możliwość wykonywania swoich zadań przy minimalnym wysiłku.
Usługa WMI zapewnia referencyjną implementację dostępu do informacji o systemie i jest kluczowym narzędziem do zarządzania i monitorowania systemów Windows. Jest to podstawa dla Azure Machine Learning i AzureML oraz jest używana do obsługi szerokiej gamy produktów innych firm.
Korzystanie z WMI
Instrumentacja zarządzania Windows (WMI) jest dostarczaną przez firmę Microsoft platformą Web-Based Enterprise Management (WBEM), inicjatywą branżową mającą na celu opracowanie ustandaryzowanych technologii dostępu do informacji dotyczących ładu korporacyjnego.
Usługa WMI reprezentuje systemy, aplikacje, sieci, urządzenia i inne zarządzane składniki przy użyciu standardu branżowego Common Information Model (CIM). Distributed Management Task Force (DMTF) tworzy i utrzymuje CIM.
Projekt WMI jest wszechstronny, obsługuje szeroki zakres zadań administracyjnych i zarządczych, a także zapewnia elastyczną i rozszerzalną architekturę, która umożliwia producentom pisanie nowych dostawców WMI w celu obsługi nowych urządzeń, aplikacji i innych zaawansowanych rozwiązań.
Inne zastosowania to:
- Kompleksowe zarządzanie systemem operacyjnym Windows oraz urządzeniami i usługami sieciowymi Microsoft.
- Może być używany do łączenia zdalnych komputerów w celu uzyskania dostępu do danych WMI
- Wykrywa informacje o systemie, takie jak uruchomione programy i skonfigurowane usługi.
- Pobieranie informacji o specyfikacji sprzętu i wykonywanie działań, takich jak wyłączanie lub ponowne uruchamianie systemu.
- Uruchamianie aplikacji, uruchamianie, zatrzymywanie, konfigurowanie usług i uzyskiwanie dostępu do danych.
- Deweloperzy aplikacji do zarządzania mogą używać tego interfejsu API do tworzenia skryptów w języku Visual Basic lub Windows Scripting Host (WSH).
Architektura WMI
WMI (Windows Management Instrumentation) to technologia firmy Microsoft zaprezentowana początkowo w systemie Windows 2000. Umożliwia programistom konstruowanie programów do zarządzania, które współpracują z dowolnym systemem obsługującym WMI.
Zobaczmy architekturę i terminologię WMI.
Przebieg architektury WMI zaczyna się od obiektów: komponent, taki jak dysk twardy, karta sieciowa, system operacyjny lub usługa, jest obiektem zarządzanym (którym można zarządzać za pośrednictwem usługi WMI). Infrastruktura WMI odbiera dane z obiektu za pośrednictwem dostawcy. Dostarcza i odbiera komunikaty z WMI i przekazuje je do obiektu.
Dostawca WMI zawiera bibliotekę DLL i plik Managed Object Format (MOF), który monitoruje zdarzenia i dane z obiektów. Usługa WMI kategoryzuje dostawców zgodnie z funkcjonalnością udostępnianą przez interfejs dostawcy.
Istnieje wiele wbudowanych dostawców WMI w systemie Windows, w tym dostawca usługi Active Directory, dostawca WMI danych konfiguracji rozruchu (BCD), dostawca rozproszonego systemu plików (DFS), dostawca dziennika zdarzeń, dostawca usługi Hyper-V WMI, dostawca Win32, dostawca rejestru, i dostawcę SNMP.
Infrastruktura WMI jest składnikiem systemu operacyjnego Microsoft Windows, znanego jako usługa WMI (winmgmt). Rdzeń WMI i repozytorium WMI to dwie części infrastruktury WMI.
Repozytorium WMI to hierarchiczny magazyn danych zorganizowany przez przestrzenie nazw usługi WMI, często nazywany modelem wspólnych informacji (CIM). Usługa WMI ustanawia szereg przestrzeni nazw podczas uruchamiania systemu, w tym domyślną usługę root, rootcimv2 i subskrypcję root.
Ponadto usługa tworzy domyślny zestaw definicji klas, który obejmuje klasy systemowe Win32 i WMI. Inne przestrzenie nazw WMI mogą być tworzone przez dodatkowych dostawców WMI, a każda przestrzeń nazw zawiera kilka obiektów WMI.
Usługa WMI działa jako pośrednik między dostawcami, aplikacjami do zarządzania i repozytorium WMI. W repozytorium przechowywane są tylko statyczne dane o obiektach, takie jak klasy zdefiniowane przez dostawców. Usługa WMI pobiera większość danych dynamicznie od dostawcy, gdy klient tego zażąda.
Konsument WMI to aplikacja lub skrypt do zarządzania, który komunikuje się z infrastrukturą WMI. Korzystając z interfejsu COM API for WMI lub Scripting API for WMI, program zarządzający może wysyłać zapytania, wyszczególniać dane, uruchamiać metody dostawcy i subskrybować zdarzenia.
WMI tworzy ustandaryzowany interfejs do zdalnego i lokalnego pobierania danych zarządzania. Jednolity interfejs abstrahuje od interfejsów programowania aplikacji (API) systemu operacyjnego. Dzięki temu aplikacje i skrypty mogą zbierać dane dotyczące zarządzania bez konieczności znajomości interfejsu API systemu operacyjnego.
Jak uruchomić zapytanie WMI?
Cechą wszechstronności platformy WMI jest możliwość odpytywania jej repozytorium w celu uzyskania szczegółowych informacji o klasie, instancji lub danych schematu. Te metryki są połączone z inwentaryzacją lokalnych i odległych systemów, systemów operacyjnych, oprogramowania i innych czynności administracyjnych.
Rodzaj zapytań
Ogólnie rzecz biorąc, istnieją dwa typy zapytań używanych do pobierania informacji z repozytorium WMI:
Zapytanie synchroniczne: jest to zapytanie, które kontroluje działanie aplikacji przez cały czas trwania zapytania. Jest to łatwiejsze niż wywołanie asynchroniczne, ponieważ zajmuje tylko jedno wywołanie interfejsu. W przypadku dużych wyszukiwań lub zapytań dotyczących sieci może jednak zawiesić aplikację.
Zapytanie asynchroniczne: gdy zapytanie o sporą grupę danych wpłynie na szybkość systemu lub sieci, preferowanym typem jest zapytanie asynchroniczne.
WQL (Język zapytań WMI)
Jedną z popularnych metod zapytań WMI jest język zapytań WMI.
SQL (Structured Query Language) jest używany w środowisku bazy danych, a WQL jest używany w WMI. Oba mają podobną strukturę składni.
Select, From i Where to podstawowe instrukcje WQL używane do uruchomienia zapytania.
Typowe zapytanie WMI rozpoczyna się od wybrania wszystkich właściwości z klasy WMI za pomocą polecenia „Wybierz”. Gwiazdka („*”) służy do wybierania każdej właściwości z klasy WMI. Można użyć słowa kluczowego „From”, aby określić klasę WMI do zapytania po wybraniu właściwości (jednej lub więcej właściwości lub wszystkich). Możesz sprawdzić dokładną składnię w ściągawce SQL.
WQL można wykonać za pomocą testera WMI (wbemtest.exe), który jest domyślnie instalowany z systemem operacyjnym Windows. Zapytania WMI można również wykonywać za pomocą programu Windows PowerShell, VBScript i języka C.
Rodzaj zapytań WQL
Zapytania WQL są wykorzystywane do uzyskania trzech różnych typów informacji.
Zapytania dotyczące obiektów: Za pomocą tych zapytań można uzyskać informacje o zasobach systemu Windows.
Zapytania o zdarzenia: Zapytania te są używane do śledzenia zmian w dziennikach zdarzeń, inicjacji procesów, stanu usług, dostępności komputerów lub ilości wolnego miejsca na dysku, między innymi podmiotami lub zdarzeniami.
Zapytania schematu: te zapytania służą do uzyskiwania szczegółowych informacji o strukturze schematu WMI.
Uruchamianie zapytania
Zobaczmy, jak uruchomić zapytanie obiektowe.
Poniższa metoda określa sposób sprawdzania procesów WIN_32 w systemie lokalnym.
Narzędzie WMI Tester jest uruchamiane za pomocą wiersza poleceń, wpisując wbemtest.exe.
Pojawi się następujące okno.
Aby połączyć się z przestrzenią nazw WMI, która zawiera klasę, której dotyczy zapytanie (w większości przypadków RootCimv2): kliknij kartę Połącz.
Aby uruchomić zapytanie, kliknij kartę „Zapytanie”, jak pokazano poniżej:
Następnie wpisz zapytanie, dla którego chcesz pobrać informacje. Na przykład, pobierzmy wszystkie procesy działające w systemie lokalnym, uruchamiając:
select * From Win32_process
Po kliknięciu zakładki Zastosuj, otrzymasz poniższe wyniki
Powyższe wykonanie oparte na graficznym interfejsie użytkownika można również wykonać w wierszu polecenia za pomocą programu PowerShell:
W platformie PowerShell, aby uzyskać listę wszystkich procesów win_32, używany jest poniższy kod:
Get-WmiObject -Class Win32_Process
Aby uzyskać wszystkie parametry zapytania PowerShell, odwiedź Zarządzanie Microsoft PowerShell strona.
Aby uruchomić to zapytanie w języku VBScript i C, Strona dokumentacji firmy Microsoft zapewni pełny wgląd.
Inną metodą odpytywania repozytorium WMI jest użycie polecenia WMIC:
- Uruchom CMD z wiersza poleceń
- Wpisz WMIC i wejdź, aby uruchomić program
- Następnie wiersz polecenia zmieni się na wmic:rootcli>
Administratorzy mogą uruchamiać zapytania WMI z tego wiersza.
Na przykład, aby załadować informacje o procesorze systemu lokalnego, poleceniem będzie:
wmic:rootcli> WMIC CPU
Wyniki/informacje zostaną wyświetlone w wierszu polecenia.
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
Aby uzyskać więcej informacji o aliasach i czasownikach WMIC, odwiedź Microsoft wmic.
Często zadawane pytania dotyczące WMI
Jakie porty są używane w WMI?
Używane porty to 49152 i 65535. Distributed Component Object Model (DCOM), na którym oparta jest usługa WMI, domyślnie wykorzystuje losowo wybrany port TCP dla połączeń z zakresu 49152 i 65535.
Czy usługa WMI jest przestarzała?
Usługa WMI jest nadal obsługiwana. Począwszy od systemu Windows 10, wersja 21H1 i półrocznej wersji kanału 21H1 systemu Windows Server, program wiersza polecenia WMI (WMIC) nie jest już obsługiwany.
Czym są narzędzia do monitorowania WMI?
Dostępnych jest wiele narzędzi do monitorowania WMI. Jednak garstka jest szczególnie popularna:
Monitor SolarWinds WMI z monitorem serwera i aplikacji
Czujnik serwisowy Paessler WMI z PRTG
Nagios XI
Eksplorator Sapien WMI
Darmowe narzędzia to WMI Explorer, Adrem Free WMI Tools
Jak rozwiązywać problemy z WMI
Podczas próby uzyskania dostępu do lokalnych lub zdalnych danych WMI w aplikacji lub skrypcie mogą pojawić się błędy, od brakujących klas po naruszenia dostępu. Sprawdź Przewodnik rozwiązywania problemów z usługą Microsoft WMI aby uzyskać rozwiązania takich błędów.
Wniosek
Ogólnie rzecz biorąc, Instrumentacja zarządzania Windows jest silnym narzędziem, którego można używać do obsługi szerokiej gamy różnych funkcji związanych z systemem Windows. WMI może być bardzo pomocnym narzędziem dla każdego, kto ma do czynienia z systemami Windows, mimo że początkowo może wydawać się onieśmielający.