Skocz do zawartości

WMIC - Windows Management Instrumentation Console


Rekomendowane odpowiedzi

WMIC

Windows Management Instrumentation Console

 

 

PowerShell vs. WMIC

 

 

wmiccwe8.png

Przybliże bardziej temat. PowerShell pracuje na klasach WMI (Windows Mangamet Instrumentation) oraz głównie na obiektach NET. Jest bardzo elastyczny możemy w PowerShellu również uzywać zwyczajnych komend w CMD - wierszu poleceń. Zanim przejde do PowerShella proponuje zajrzeć do konsoli WMIC (Windows Mangament Instrumentation Console) dostępna dla użytkowników posiadających XP PRO. Ma może nie takie potężne mozliwości jak PS, ale pracuje na gotowych aliasach (jak i PS) oraz możemy pracować na samych klasach WMI. W PowerShellu możemy tworzyć własne cmdlety i funkcje, w WMIC nie, ale do rzeczy.

 

 

~~~~~WMIC

 

START/uruchom/CMD w nim wpisac WMIC, pojawi się ścieżka wmic:root\cli> Jesteśmy już w środku. Aby zobaczyć spis aliasów i komęd nalezy wpisać -?

 

aliaswq9.th.png

 

Lista jest dość spora, wpiszmy polecenie PROCESS, dostatniemy potęzny wypis właściwości każdnego procesu:

 

processzd3.th.png

 

Poniżej na obrazku znajdują sie przełączniki do przefiltrowania danych czyli tego jakie dane chcemy uzyskać mamy GET lub LIST, wpiszmy PROCESS GET -? Wyświetla nam się wszystkie właściwości jakie możemy uzyskać dla tego przełącznika:

 

getor9.th.jpg

 

Jeśli wpiszemy PROCESS GET /ALL otrzymamy wszystkie informacje zwrócone przez ten przełącznik. Ale jeśli chcemy przefilitrowac dane? znowu PROCESS GET -? po lewej stronie będzie spis poleceń jakie chcemy wybrać tak więc PROCESS GET Name, SessionId, VirtualSize

 

procgetnc2.th.jpg

 

... czyili nazwa procesu nr Sesji ID, uzycie pamięci wirtualnej

 

A zobaczmy właściwość LIST: PROCESS LIST -? znajdują się tam gotowe zestawy dodatkowego przełącznika jak BRIEF czy MEMORY itp... Więc co wyświetli PROCESS LIST BRIEF a PROCESS LIST MEMORY:

 

brieffk0.th.jpg

 

Formatowanie zawartości wyświetlanych danych. Jeśli chcemy, aby zamiast tabeli wyświetlała się lista wpiszmy:

PROCESS GET Name, SessionId, VirtualSize /value Dane zostaną wyświetlone jedne pod drugim

 

valuesx2.th.jpg

 

Wczesniej mówiłem o klasach WMI nawet te aliasy jako gotowe polecenia tylko posługują sie klasami, ale jak wygląda klasa process?

Win32_Process daje ten sam efekt co wpisane PROCESS, ale przed musimy wpisać przełącznik PATH

 

 

 

PATH Win32_Process , wyświetli te same dane co PROCESS. Idziemy dalej chcemy przefiltrowac dane PATH Win32_Process -?

Załóżmy że chcemy zmonitować strumień danych Path Win32_Process GET /all /every:3 /repeat/:8

włąsciwośc every oznacza co jaki czas w tym przypadku co 3 sekundy repet - powtórzenia w tym przypadku 8

 

CD..... praca na procesach w WMIC. Filtrowanie! Chcąc wyświetlić tylko dany proces uzyjmy polecenia:

PROCESS WHERE (Name='gg.exe') GET name, processid

Wyświetli tylko process gg, jego nazwe oraz ide procesu

 

W przykładzie jeśli gadu-gadu przekoroczy 30MB uzycia pamięci to process zostanie zamknięty:

process where "name='explorer.exe' and workingsetsize>30000000" call terminate

 

Jeżeli chcemy przefiltrować aby bez wpisywania własciwości wyświetliły się podstawowe informacje o procesie gg należy użyć:

PROCESS WHERE (Name="gg.exe") LIST BRIEF

 

Jeżeli chcemy wyświetlić wszystkie własciwości procesu gg należy użyć:

PROCESS WHERE (Name="cmd.exe") LIST FULL

 

Jeżeli chcemy wyświetlić wszystkie właściwości zalokowanej pamięci przez process nalezy uzyć:

PROCESS WHERE (Name="cmd.exe") LIST MEMORY

 

Jeżeli chcemy zobaczyć wykaz przełaczników dla polecenia LIST należy użyć:

PROCESS WHERE (Name="cmd.exe") LIST -?

Wyświetlą sie właściwości:

BRIEF

FULL

INSTANSE

IO

MEMORY

STATISTICS

STATUS

SYSTEM i inne........

 

 

Jeżeli chcemy przestawić priorytet procesu w tym przypadku na wysoki należy użyć:

process where "name='gg.exe'" call SetPriority 64

Ten sam przykład tylko wywołany na konkretnej klasie:

PATH Win32_Process WHERE Name="gg.exe" call SetPriority 64

 

Jeżeli chcemy zabić proces należy użyć:

process where (name="gg.exe") call terminate

 

Jak zabić konkretny proces po numerze pidu procesu:

wmic process PID delete

 

Jeżeli chcemy przefiltrować tzn wyświetlić wszystkie procesy zaczynające się na litere g, nalezy uzyć:

process where (name like "g%") get name

 

Jeżeli nie chcemy wywołać sesji WMIC czyli wykonać nas tylko zadanie, które nas interesuje, wywołane jako pojedyncza komęda to zawsze przed konkretnym zadaniem otwieracją wiersz polecenia wpisujemy WMIC np...

WMIC process where (name="gg.exe") call terminate

 

Monitorowanie pełnych statystyk procesów co sekunde z trzema powtórzeniami z zapisem do pliku html. Sam przerwie działanie:

wmic process get /every:1 /repeat:3 /format:htable > c:\process.htm

 

Monitorowanie tylko nazwy procesu i priorytetu:

wmic process get name, priority /every:1 /repeat:3 /format:htable > c:\process.htm

 

Jak sprawdzić jakie możemy wykonywać metody na konkretnym obiekcie. W tym przykładzie na usługach. Żeby dowiedzieć się jakie czynności możemy wykonać należy użyć polecenia CALL (wykonuje metody)

A więc: WMIC Service CALL -? Polecenie wyświetli metody:

sevzp6.th.png

cd.......

Jak uruchomić konkretną usługe:

WMIC SERVICE where caption='Nazwa usługi' CALL STARTSERVICE

cd......

Jak wyłączyć usułge z trybu startowego(na stałe)

WMIC SERVICE WHERE Caption="Nazwa usługi" CALL ChangeStartMode "Disabled"

 

Jak przefiltrować usługi, które uruchomione są w aktualnym momencie:

wmic service where (state="running") get name, state

to samo tylko dotyczy sterowników systemowych:

wmic sysdriver where (state="running") get name, state

 

Jak przefiltrować usługi, które są ustawione w trybie startowym właściwością Manual:

wmic service where (StartMode="Manual") get name, StartMode, State, DisplayName /value

 

Jak włączyć konkretny process - aplikacje:

wmic process call create "iexplore.exe"

 

Monitorowanie procesów tych które, pobierają do 20MB pamięci. Monit co sekunde z trzydziestoma powtórzeniami.

wmic process where "WorkingSetSize> 20000000" get name, workingsetsize /every:1 /repeat:30

 

Jak odczytać logi systemowe z dziennika zdarzeń z zakładki "system" :

wmic NTEVENT where LogFile='system'

 

Jak wyświetlić informacje o napędach oraz rodzaju systemu plików na volumie, ilość wolnego miejsca, litery volumu, rozmiar volumu, numer seryjny:

wmic logicaldisk GET name, freespace, FileSystem, Size, VolumeSerialNumber

 

Jak wyświetlić do jakiej klasy należy konkretny alias w konsoli WMIC:

wmic Alias GET FriendlyName, Target

 

Jak wyświetlić listę aktualizacji oraz poprawek systemowych:

Wmic qfe get /all

 

Jak zapisać dane o poprawkach i aktualizacjach do pliku html z zapisem danych pod sobą, ale w formacie klamrowym:

wmic qfe get /format:hmof> qfe.htm

 

formom0.th.png

 

Jak dowiedzieć się o której godzinie oraz ile razy logowali się na maszynie poszczególni użytkownicy, wraz z wylogowaniem, ilość logowania z zapisem danych pod sobą:

wmic netlogin get Name, NumberOfLogons, LogonHours, LastLogon, LastLogOff /format:value

 

Jak wyświetlić urządzenia sterujące takie jak USB. Skorzystamy z klasy abstrakcyjnej CIM_Controller, która wyświetla i grupuje różne urządzenia:

wmic PATH CIM_Controller GET Name,Status,SystemName,ProtocolSupported, Status

 

Wiązania poleceń filtrujących dane, dostępne z wiersza polecenia i ich stosowanie w poleceniach konsoli WMIC. Mamy dwa polecenia SORT oraz FIND. Polecenie SORT ma za zadanie sortować wyświetlone dane, a polecenie FIND szuka ciągu znaków w plikach.

 

W prostym przykładzie polecenia FIND:

wmic process list brief | find /I "svchost"

Ma za zadanie wyświetlić podstawowe informacje o koknretnym procesie oraz przefiltrować wyniki tak, aby wyświetlić tylko interesujące nas procesy w poleceniu find czyli svchosty. Domyślnie polecenie Find ma włączone rozpoznawanie dużych i małych znaków, aby wyłączyć te właściwość należy za poleceniem Find użyć przełącznika /I. W innym razie wyniki nie zostaną wyświetlone. W innym przykładzie:

wmic process list brief | find /I "a"

zostały wyświetlone procesy te które w nazwie zawierają wyraz a oraz te które posiadają te litere w nazwie członowej. Lista jest pomieszana. Co zrobić by te same dane zostały wyświetlone w porządku alfabetycznym. Należy użyć za poleceniem find, polecenia sort. Przykład:

wmic process list brief | find /I "a" | sort /+1

 

 

A jak wyświetlić te same dane, ale wyświetlone od końca alfabetu do jego początku:

wmic process list brief | find /I "a" | sort/+63

 

Podwójne sortowanie. Mamy nastepujące polecenie, które ma za zadnie wyświetlić nazwe skrótową sterownika, tryb uruchamiana sterownika, stan sterownika. Posortowany na dwa sposoby. Polecenie Find wyszykuje stan sterowników, które są uruchomione w aktualnym momencie z własciwości State. A skąd te polecenie wie że ma po tej właściwości sortować. Jeżeli ostanią napisaną właściwością w wierszu jest State to te polecenie automatycznie przefiltruje sterowniki po tej właściwości. Następnie polecenie sort /+15 ma za zadanie posortować tryb uruchamiania sterowników ( kolejność automatycznie, boot, wyłączone, ręczne, system):

wmic sysdriver get startmode, name, state| find /I "running" | sort /+15

 

15cf0.th.png

 

Jeżeli użyjemy takiej kombinacji sort /+1 otrzymamy te same dane z tą różnicą że wyniki zostaną wyświetlone alfabetycznie po nazwie skrótowej sterownika. Jeżeli użyjemy kombinacji sort /+63 wyniki zostaną wyświetlone również alfabetycznie, ale od końca.

 

Dodajmy do tego jeszcze jedno polecenie Findstr, które podobnie wyszukuje ciągów w plikach. Podobnie przełącznikiem /I wyłączyć rozpoznawanie dużych i małych znaków. Ma za zadnie wyświetlić te sterowniki, które w nazwie zawierają litere F, a więc wyświetlenie sterowników aktualnie uruchomionych w systemie, posortowany trybem startowym i wyświetlenie tylko tych, które w nazwie członowej zawierają litere F lub w całej nazwie:

wmic sysdriver get startmode, name, state| find /I "running" | sort /+15 | Findstr /I "F"

 

strdh7.th.jpg

 

Użycie polecenia MORE ,które ma za zadanie wyswietlać dane po jednym ekranie na raz. Czyli jeśli danych jest dużo to użycie tego polecenia spowoduje cykliczne wyświetlenie danych na wysokości okna, przewijane spacją, cyklicznie pojawi się napis -- Dalej --. Polecenie MORE można używać do wiekszości poleceń takich jak Dir w Cmd oraz w PowerShellu np. dla Get-Childitem. Więc:

wmic service get startmode, name, state| find /I "stopped" | More

 

Można również dostawiać te same polecenia po sobie. Listing serwisów, które są aktualnie zatrzymane w systemie, a ustawione w trybie manualnym:

wmic service list brief | find /i "stopped" | find /i "manual"

 

A jak wyświetlić czy istnieją w konsoli wmic polecenia związane z pamięcią (MEM):

wmic alias get FriendlyName | find/i "MEM"

 

Jak wyświetlić konkretny program, który jest uruchamiany wraz z startem systemu. W przykładzie sprawdzenie czy uruchamia się antywirus. Jeśli po wpisaniu nie wyświetlą się żadne wyniki oznacza to że wybrany program nie startuje wraz z systemem:

wmic startup list brief | findstr /i "nod"

 

Użycie samego polecenia | sort /+63 spowoduje alfabetyczny sort po nazwie od końca alfabetu. Natomiast użycie polecenia | find /I "am" za stosem polecen wmic, przefiltruje i wyświetli tylko te sterowniki, które w nazwie posiadają litery am

Jedna uwaga. Łączenia poleceń nie działają w samej konsoli WMIC, można je stosować jako pojedyńcze wykonanie polecenia w Cmd.

 

Jak wyświetlić stan wszystkich przełączników globalnych konsoli WMIC:

wmic context

 

Jak uruchomić wszystkie usługi, które są zatrzymane w systemie:

Wmic service where "State='Stopped'" call StartService

 

Jak przestawić tryb uruchamiania dla wszystkich usług, które są wyłączone w systemie na tryb uruchamiania - ręczny:

Wmic service where "StartMode='Disabled'" Call ChangeStartMode "Manual"

 

Jak wyświetlić nazwy przestrzenne w okreslonej przestrzeni nazw:

Wmic /NAMESPACE:\\root\ PATH __NAMESPACE

 

Jak wyświetlić dane w pliku html, posortowane w grupie czyli nazwa procesu-właściwości pod sobą:

wmic process get /format:hform.xsl > C:\Proc.htm

 

 

 

Pobieranie szczegółowej pomocy!

Mam do dyspozycji dwa przełączniki:

/?:Brief - podstawowa

/?:Full - szczegółowa

 

Jak wyświetlić szczegółowy opis globalnych przełączników oraz dostępnych aliasów w konsoli wmic:

wmic /?:full

 

Jak wyświetlić opis parametru aliasu dla aliasu process i do jakiego obiektu należy ten alias:

wmic process BNF /?:full

 

Jak wyświetlić szczegółowo opisaną listę przypisań (właściowści) dla usług systemowych:

wmic service create /?:Full

 

Jak wyświetlić szczegółowo opisaną listę metod dla procesów:

wmic process call /?:Full

 

Jak wyświetlić szczegółowy opis dla właściwości przełącznika GET:

wmic alias get /?:full

 

Szkoda że szczegółowo wyświetlone opisy właściwości są po angielsku. Jeśli skorzystamy z klas wmi to otrzymamy opisy w naszym języku, a więc:

 

Polecenie te wyświetla szczegółowy opis zmiany trybu uruchamiania usług systemowych:

wmic path Win32_service call ChangeStartMode /?:Full

 

startmodeox7.th.gif

 

Polecenie te wyświetla szczegółowy opis poszczególnych właściwości usług systemowych takich jak Stan, nazwe itp.

wmic path Win32_Service get /?:full

 

Polecenie te wyświetla szczegółowy opis listy przypisań czyli właściowści procesów takich jak wątki, zatrzymanie procesu itp.

wmic path Win32_Process create /?:full

 

createmm3.th.gif

 

Jak wyświetlić jakie możemy wykonywac metody na sterownikach systemowych - usługach. Dostaniemy naprawde porządny spis dla wykonania tych metod:

wmic path win32_SystemDriver call /?:full

 

driverjf7.th.gif

 

Możemy:

- zmodyfikować usługę

- zmienić tryb uruchamiania

- tworzyć nową usługe

- usuwać istniejącą usługe

- zaktualizować stan zgodnie z menedżerem zadań

- wstrzymać usługę

- wznowić usługę

- uruchamiać zatrzymaną usługę

- zatrzymać usługę

- wysłać kod sterujący

 

 

Jak wyświetlić listę wszystkich dostawców WMI:

wmic path __Win32Provider get name

 

 

Jak zapisać konkretne dane w pliku xml, jako otwierana lista z właściwościami, formatowane danymi pod sobą:

wmic /record: c:\serwisy.xml service get caption, State, StartMode /value

xmldk0.png

Przykład ten na dobrze sprawdzonych serwisach;). Żeby uzyskać taki efekt należy za głównym poleceniem wmic podać globalne polecenie record, które rejestruje wszystkie wporwadzone polecenia w pliku w formacie xml. Nastepnie podajemy lokalizacje pliku, gdzie ma wylądować. W Tym przypadku zapis będzie w lokalizacji c:\serwisy.xml, oczywiście z rozszerzeniem xml. Kolejnie wpisujemy intereresujący nas alias service, następnie chcemy uzyskać (w tym przykładzie) trzy interesujące nas właściwości, jak nazwa serwisu, tryb uruchamiania, status serwisu get caption, State, StartMode i na koniec, aby zapis do pliku xml nie został zapisany w tabeli, a jako lista czyli dane pod sobą należy użyć polecenia /value. Liste można rozwijać i zwijać. W podobnym przykładzie zapisu tylko wyświetlenie wszystkich właściwości z aliasu nicconfig, który wyświetla informacje o zarządzaniu kartami sieciowymi: wmic /record: c:\karta.xml nicconfig get /value. Zamiast przełącznika /value mozna również użyć /format:list. A jeśli ktoś woli, aby formatowanie było w postaci tabeli w przykładzie:

wmic /record: c:\serwisy.xml service list brief /format:Table. Wyświetli podstawowe informacje.

serhg3.png

Jeden mankament jest taki, jeśli będziemy chcieli dobrać sobie wybrane właściwości poprzez przełącznik GET i zapisać w pliku xml w postaci tabeli to formatowanie tabeli nie wyjdzie równe, więc lepiej i estetyczniej używać przełącznika LIST

 

Filtrowania ciąg dalszy...........

 

 

A jak zrobić żeby w pierwszej kolejności przekierować dane do pliku html:

wmic /output:c:\procesy.htm process list full /format:hform

Polecenie output określa typ przekierowania danych wyjściowych, następnie określamy lokalizacje i nazwe pliku, kolejnie określamy konkretny alias,a na końcu formatujemy zawartość tak jak chcemy.

 

Kolejny przykład. W pierszej koleności zostaje okreslony typ przekierowania danych wyjściowych z określeniem lokalizacji, przefiltrowany tak, aby wyświetlił tylko te usługi, które są uruchamiane automatycznie ze startem systemu i uruchomione aktualnie w systemie. Z wyciągnięciem tych informacji, które nas interesują jak pełna nazwa usługi, tryb uruchamiania, stan. Zapisane w formacie htable w pliku html:

Wmic /output:"c:\LOG.htm" service where "StartMode="auto" and State="running"" get DisplayName, StartMode, State /format:"htable"

 

Podobny, a właściwie ten sam przykład. Został w nim dodany typ serwisu oraz ProcessId czyli PID, którego serwis używa w procesie svchost. Z wyciągnieciem tych samych informacji, ale z sortem numeru Pidu usługi:

Wmic /output:"c:\LOG.htm" service where "StartMode="auto" and State="running"" get DisplayName, StartMode, State, ProcessId,ServiceType /format:htable:"sortby=ProcessId"

 

Kolejny podobny przykład, ale tym razem wykonanie logów z dziennika zdarzeń. Alias ntevent, który zbiera wpisy z dziennika zdarzeń systemu.

 

eventbx5.png

 

Jak wyświetlić logi systemowe, które posiadają w liście ostrzeżenia:

Wmic /output:"c:\System.htm" ntevent where "logfile="System" and type="warning"" get Logfile, Message, SourceName, EventCode,Type, TimeGenerated /format:"htable"

W komędzie zostały umieszczone nastepujące wartości:

 

Logfile - zakładka system

Message - informacja zdarzenia

SourceName - żródło

EventCode - identyfikator zdarzenia

Type - warning - ostrzeżenie

TimeGenerated - data wygenerowania loga

 

Rodzaje typów ostrzeżeń - Type

- error

- warning

- information

 

Podobny przykład, ale wyświetlenie z zakładki Aplikacje, tych aplikacji, które wygenerowały błąd (error):

Wmic /output:"c:\Aplikacje.htm" ntevent where "logfile="Application" and type="error"" get Logfile, Message, SourceName, EventCode,Type, TimeGenerated /format:"htable"

 

Co do przykładu wyżej ten sam efekt uzyskamy korzystając z konkretnej klasy WMI. Alias ntevent używa klasy Win32_NtLogEvent . Przed użyciem konkretnej klasy musimy użyć polecenia path, które wprowadza pełne ścieżki obiektów WMI. A więc:

 

Wmic /output:"c:\System.htm" path Win32_NtLogEvent where "logfile="Application" and type="error"" get Logfile, Message, SourceName, EventCode,Type, TimeGenerated /format:"htable"

 

Ciąg dalszy listowania przez filtrowanie.........

 

Jak przefiltrować wyniki tak, aby wyświetlić pozycje w dzienniku zdarzeń, które to składniki, bądż aplikacja, usługa, sterownik, podsystem utworzyło log czyli żródło zdarzenia. W przykładzie listing serwisów z datą wygenerowania loga, żródłem zdarzenia, pełnym komunikatem o zdarzeniu, uzupełnieniu wpisu raportu. Z zapisem danych do pliku html:

 

WMIC NTEVENT WHERE SourceName="Service Control Manager" GET Message,EvenType,insertionstrings,TimeGenerated /FORMAT:HTABLE > c:\SerLog.htm

 

Żródła zdarzeń moga być: eventlog, tcpip, application popup itp.....

 

A jak wyświetlić wszystkie wpisy w dzienniku zdarzeń, które posiadają loga z błędami aplikacji (error). Zostaną wyświetlone tylko te aplikacje, które wygenerowały błąd oraz pozycje w dzienniku zdarzeń zostaną posortowane od pierwszych wpisów do ostatnich w kategorii numeru pozycji w dzienniku "sortby=RecordNumber" jednakże typy wygenerowane przez system czy aplikacje będą rozrzucone. Bez sortu typy czyli żródła logów będą ułożone chierarchicznie, komunikat zdarzenia, uzupełnienie komunikatu zdarzenia, czas wygenerowania loga w dzienniku zdarzeń, typ czyli żródło zdarzenia oraz LogFile, które wyświetla unikatowy identyfikator klasy oraz najwazniejsze EventType czyli typ zdarzenia, którym to filtrowane są wyniki w przykładzie poniżej z zapisem danych do pliku html

 

WMIC NTEVENT WHERE "EventType="1"" GET Message, EvenTtype,insertionstrings,TimeGenerated,LogFile,SourceName, RecordNumber /FORMAT:htable:"sortby=RecordNumber" >c:\ErrorLog.htm

 

Rózróżniamy trzy typy zdarzenia, które generuje właściwość LogFile:

informacja - oznaczona jako typ 3

ostrzeżenie - oznaczona jako typ 2

błąd - oznaczona jako 1

 

Właśnie tego typu filtrowanie EventType= pozwala na wyświetlenie konkretnych typów zdarzenia z całego dziennika zdarzeń, a nie tylko z wybranej kategorii.

 

Możliwość listowania wybranego działu w pozycji dziennika zdarzeń w przykładzie listing tylko tych komunikatów z zakładki system, które zawierają ostrzeżenia:

WMIC NTEVENT WHERE "LogFile="system" and EventType="2"" GET Message, TimeGenerated, EvenTtype,insertionstrings,TimeGenerated,LogFile /FORMAT:htable >c:\Loga.htm

 

Listing komunikatów o błędach z całego dziennika zdarzeń z wykożystaniem klasy wmi, zapisane do pliku html w formacie tabeli, posortowane według pozycji w dzienniku zdarzeń:

 

WMIC /output:"c:\LOG.htm" path Win32_NtLogEvent WHERE "EventType="1"" GET Logfile, Message, SourceName, EventCode,Type, TimeGenerated /FORMAT:HTABLE:"sortby=LogFile"

 

 

Jak już jesteśmy przy dzienniku zdarzeń to może warto zajrzeć do aliasu nteventlog , który zarządza plikiem dziennika zdarzeń. A więc chcemy sie dowiedzieć jakie pozycje posiada dziennik zdarzeń, ile każda pozycja posiada wpisów z logami oraz jaki jest rozmiar pozycji dziennika:

 

wmic nteventlog get LogFileName, NumberOfRecords, FileSize

 

filesize - rozmiar

NumberOfRecords - ilość wpisów

LogFileName - nazwy pozycji w dzienniku zdarzeń

 

eventlbq1.png

 

Opisze dwie metody, które możemy wykonywać w aliasie nteventlog. Jest to:

BackupEventLog - tworzenie kopi zapasowej loga

cleareventlog - usunięcie wpisów z wybranej pozycji

 

Tak więc, jeśli chcemy stworzyć kopie zapasową logów z zakładki system i zapisać go do pliku, należy użyć polecenia:

wmic nteventlog where "LogFileName = "System"" Call BackupEventLog "C:\Syslog.evt"

 

W przykładzie, jeśli chcemy usunąć wpisy z zakładki Aplikacje, należy użyć polecenia:

wmic nteventlog where "LogFileName = "Application"" call cleareventlog

 

Pomyślnie wykonane polecenie wyświetli taki komunikat, zwracając wartość 0:

metub8.png

 

Jak wyświetlić do jakiej klasy należy konkretny, wybrany do sprawdzenia alias:

WMIC ALIAS Nazwa-Aliasu Get Target

 

UZUPEŁNIENIE.

 

Jeśli w wyżej podanych przykładach lub podobnych, pojawi się taka informacja w pliku html:

 

26627478dn1.png

 

lub w wierszu poleceń:

 

01fp8.png

 

Nie oznacza to złego wykonania polecenia, a informuje o braku wpisów z wybranej gałęzi dziennika zdarzeń.

 

 

 

 

Alternatywnie skrypt eventquery.vbs do zbierania informacji z pliku dziennika zdarzeń

Możemy również skorzystać z narzędzia, które oferuje system. Posiada możliwość sporządzania logów z komputerów w sieci lokalnej. Uruchamiany za pomocą hosta skryptów.

62279815lv4.th.pnglistcy0.th.png

 

Jak wyświetlić pomoc narzędzia:

Cscript eventquery.vbs /?

 

Jak wyświetlić wpisy z dziennika zdarzeń z wybranej zakładki:

Cscript eventquery.vbs /l "application"

 

Jak wyświetlić szczegółowy opis zdarzeń, jak date, źródło, rodzaj zdarzenia dla wybranej zakładki:

Cscript eventquery.vbs /l "application" /v

 

Jak wyświetlić szczegółowy opis zdarzeń, jak date, źródło, rodzaj zdarzenia dla wszystkich zakładek:

Cscript eventquery.vbs /v

 

Jak formatować wyświetlanie danych, w przykładzie format listy:

Cscript eventquery.vbs /l "application" /v /FO LIST

 

dostępne przełączniki formatowania: TABLE, LIST, CSV

 

Jak określić zakres zdarzeń do wyświetlania. W przykładzie skrypt kolokwialnie przeszuka we wszystkich zakładkach 6 najnowszych wpisów w dzienniku, jeśli nie ma wpisów lub jest ich mniej poda informacje:

 

Cscript eventquery.vbs /R 6

 

Więcej informacji na stronie MS

 

 

 

 

******************************************************************

 

 

 

Przegląd kont systemowych

 

Ostatnio przeglądając tematy forum, natrafiłem na podany skrypt vbs w jednych z tematów przez Picasso. Skrypt SID(pobierz) - z zasobów Picasso, który ma za zadanie wyświetlić ilość i jakie konta posiada nasz system. Ale co zrobić, gdy nie mamy takiego skryptu, a chcemy uzyskać w tej tematyce informacje. W tym celu należy użyć aliasu useraccount , który zarządza kontami systemowymi, Sam alias korzysta z klasy Win32_UserAccount. Więc jak wyświetlić nazwy kont, ile kont posiada system, czy jest to konto administracyjne z zapisem danych do pliku txt w lokalizacji C:\

 

wmic useraccount Get Caption, SID, Name, Description, Disabled, PasswordRequired, Lockout, PasswordChangeable /value >C:\Konto.txt

 

Caption - jest tekstowym opisem obiektu

SID - jest to unikalny numer konta ( każde konto ma swój unikalny numer zwany SID, SID jest za każdym razem inne przy stworzeniu nowego konta, nie zmienia się on podczas zmiany nazwy konta. Za numerem SID jest również numer RID)

Name - wskazuje nazwę konta

Description - tekstowy opis obiektu

Disabled - określa czy konto użytkownika jest wyłączone

FullName - wyświetla pełną nazwę uzytkownika lokalnego

PasswordRequired - określa czy hasło jest wymagane na koncie użytkownika

Lockout - określa czy konto użytkownika jest zablokowane

PasswordChangeable - określa czy hasło na koncie użytkownika może być zmienione

 

We wartości Disabled zauważymy następujące dane TRUE albo FALSE, wartość TRUE oznacza potwierdzenie właściwości Disabled czyli dane konto jest wyłączone. Wartość FALSE oznacza że dane konto jest włączone.

 

Identyfikatror SID i RID

S-1-5-21-746137067-2025429265-725345543-500

Jak pisałem wyżej SID jest to unikalny numer konta, a czym jest RID? RID jest to numer odpowiadający uprawnieniom konta jeśli numer SID ma wartość 500 oznacza to że jest to konto administracyjne z pełnymi uprawieniami, jeśli wartość 500 jest większa oznacza to ze konto nie ma pełnych uprawień administracyjnych.

 

Dodatkowo narzędzie PsGetSid z zestawu narzędzi PsTools autorstwa Sysinternals, działające bez instalacji z lini wiersza poleceń wyświetla numer SID, aktualnie zalogowanego użytkownika do systemu. Downland: PsGetSid v1.43.

 

Także narzędzie Whoami z zestawu narzędziowego Support Tools posiada zdolność do wyświetlania numeru SID konta i grup. Użycie narzędzia:

Samo podanie polecenia Whoami wykaże aktualnie zalogowanego użytkownika

Poleceniem Whoami /USER /SID wyświetlimy - aktualnie zalogowanego użytkownika wraz z podaniem numeru SID

Zestaw narzędzi Support Tools mozna pobrać stąd: Klik. Cd.....

 

Wykonanie tej samej operacji w PowerShellu:

Get-WmiObject Win32_UserAccount | Fl Caption, SID, Name, Description, Disabled, PasswordRequired, PasswordChangeable, Lockout

To tyle....

 

 

Skanowanie dysku czasami bywa uciążliwe, a czasami bardzo przydatne. Jak wykluczyć dysk ze sprawdzania przy następnym uruchomieniu komputera: W Przykładzie C:\

wmic logicaldisk call ExcludeFromAutochk "C:"

 

A Jak uruchomić narzędzie do sprawdzania dysku i od razu rozpocząć skanowanie w poszukiwaniu błędów:

WMIC logicaldisk WHERE drivetype=3 call chkdsk

 

wartość 3 oznacza że każda litera dysku fizycznego będzie sprawdzana. W przykładzie poniżej podanie wartości 2 spowoduje skanowanie tylko dyskietki:

chk1xh2.png

Możliwe jest również zaplanowanie skanowania przy ponownym uruchomieniu komputera poprzez użycie metody - ScheduleAutoChk. To Tyle...

 

 

 

 

 

******************************************************************

 

 

WMIC - listing z Msconfig, programów startujących wraz z systemem

 

Ostatnio przeglądając tematy w dziale Windows, zauważyłem powklejane screeny msconfig z spisem programów uruchamianych wraz z startem systemu. Prosto i szybko można uzyskać te samą listę z konsoli wmic i zapisać je do pliku txt, na dysku C. Więc: wmic path Win32_StartupCommand get Name, User, Location, Command > C:\List.txt

 

Command - wskazuje ciąg reprezentujący wiersz polecenia uruchamiany przez polecenie startowe.

Location - wskazuje ścieżkę, w której polecenie startowe rezyduje w dyskowym systemie plików.

User - wskazuje nazwię użytkownika, dla którego to polecenie uruchomieniowe będzie działać.

Name - wskazuje nazwę pliku polecenia startowego.

 

Command														
C:\WINDOWS\system32\CTFMON.EXE

Location  
HKU\S-1-5-18\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

Name
CTFMON.EXE

User
ZARZĄDZANIE NT\SYSTEM

 

Zapisanie w postaci listy:

wmic path Win32_StartupCommand get Name, User, Location, Command /FORMAT:list > C:\List.txt

Odnośnik do komentarza
Pomoc jest darmowa, ale proszę rozważ przekazanie dotacji na utrzymanie serwisu: klik.

Scriptomatic 2.0

by Microsoft Scripting Guys

wmiup9.png

 

Narzędzie te jest dostępne od jakiegoś czasu w dziale pobrań Microsoftu. Scriptomatic 2.0 ma za zadanie tworzyć proste skrypty wmi, program jest małych rozmiarów, działające bez instalacji. W trakcie uruchamiania aplikacja sama ładuje klasy wmi z przestrzeni nazw root\CIMV2 i jest od razu gotowe do użycia.

 

Generuje kod w językach z możliwością wyboru:

 

Language

 

- VbScript

- Perl

- JScript

- Python

 

Uruchamianie skryptu z możliwością wyboru formatu:

 

Output Format

 

- Command prompt (wiersz poleceń)

- Plain Text (w notatniku)

- HTML (w przeglądarce)

- Exel ( w arkuszu)

- XML ( w pliku xml)

 

Możliwość połączenia się z innym komputerem poprzez opcję WMI Source. Możliwość uruchomienia każdego skryptu z wybranej lokalizacji opcją OPEN oraz zapisanie skryptu SAVE. Przykładowy wynik działania z zapisaniem danych do pliku HTML:

 

html1dq2.png

 

Narzędzie jest dostępne do pobrania stąd: Scriptomatic 2.0 lub Tu . Anglojęzyczny opis narzędzia znajduje się tu: Scriptomatic 2.0: Readme.

 

 

 

WmiTools

Microsoft

objectbrowser3l1ue8.png

Powiązania klasy należącej do sesji logowania. Z czym sesja jest powiązana, z jakimi obiektami:

objcetbrowser2wn7.png

Widać dalsze powiązania, jeśli strzałki są na białym tle to wystarczy podwójnie kliknąć na którąś i nastąpi przekierowanie do kolejnego powiązania związanym z obiektem. WMI Object Browser z zestawu narzędzi WMITools ma za zadanie wyświetlać klasy, klasy obiektów jak zainstalowane oprogramowanie, sterowniki, usługi, oprogramowanie urządzeń, wystąpienia. Wyświetla powiązania (associated) obiektów klas ze sobą. Inaczej instancje. Umożliwia podgląd klas oraz edycje, wyświetla właściwości klasy oraz metody jakie można wykonywać na obiekcie. To samo również się tyczy pozostałych narzędzi.

W skład pakietu WMITools wchodzą: WMI Object Browser, WMI Cim Studio, WMI Event Viewer, WMI Event Registration oraz plik pomocy wmitools.chm

 

W przykładzie użycia WMI Object Browser wyświetlenie jakie posiada powiązania usługa "klient DHCP"

objectbrowserqd5.png

 

Jeśli by zaznaczyć na samej górze w tabeli pierwszą pozycje WIn32_ComputerSystem program zacznie wyliczać sam powiązania z wszytskich klas. Trzeba się uzbroić w cierpliwość przy wykonywaniu tej operacji, nie trwa to długo, ale wykożystanie mocy procesora w tym momencie jest maksymalne. Pojawia się tabelka wyliczająca poziązania, po zakończeniu wyniki zostaną wyświetlone graficznie. U mnie wyświetla ponad 6000tyś powiązań, a nie mam nie wiadomo jakiej ilości zainstalowanego oprogramowania. Podobna sytuacja użycia pełnej mocy procesora pojawi się podczas uzyskiwania informacji o elementach produktów zainstalowanych w systemie jeśli skorzystamy z klasy Win32_SofwareElement, a i również jeśli będziemy chcieli uzykać informacje o powiązaniach danego produktu. Gdzieś musi to głęboko wykopać z systemu. Podobna sytuacja zajdzie w konsoli WMIC jeśli skorzystamy z aliasu SOFTWAREELEMENT lub SOFTWAREFEATURE, który ma za zadanie wyświetlić informacje na temat podzestawów produktów programowych elementu oprogramowania jeśli użyjemy opcji by wyświetlił się pełny zestaw wyników. W WMI Object Browser nie ma tej możliwości segregacji wybranych wyników.

 

WMI Cim Studio

Jakie powiązania posiada klasa Win32_SystemDriver z innymi klasami odpowiadająca za wyświetlanie informacji o sterownikach systemowych:

cimstudio2zs1.png

 

Charakterystyczną cechą jaką posiada WMI Cim Studio jest wyświetlanie powiązań klasy z innymi klasami. Narzędzie również wyświetla zestawy wynikowe odpowiadające klasie oraz ma te same mozliwości jak podgląd, edycje klas.

 

Starałem się pokazać WMITools pod kątem powiązań, bo możliwości jest o wiele więcej. WMITools nie jest nowością, jest już od dłuższego czasu dostępne w M$ do pobrania: WMI Administrative Tools. Wymaga instalacji, po zainstalowaniu nie przekracza 5MB wielkości. Działa spod przeglądarki Internet Explorer.

 

 

 

Polecenia WMIC pod lupą

szukgk3.gif

wmicimfk7.png

Każdy alias (polecenie) w konsoli kożysta z konkretnej klasy. Inaczej pisząc Alias jest gotowym wystąpieniem konkretnej klasy. Ale jak uzyskać szczegółowe informacje na temat każdego aliasu, jakie posiada właściwości, jakie ma cechy, do jakiej klasy należy, itp. W tym celu trzeba skożystać z klasy MSFT_CliAlias, która jest główną klasą w schemacie aliasów. W przykładzie użycia narzędzia WMI Cim Studio. Gdy uruchomimy program to w tebelce wyboru z którą nazwą przestrzenną program ma się połączyć, trzeba wpisać nazwe przestrzenną Root\Cli, gdy program załaduje klasy należy odszukać klase MSFT_CliAlias i na nią kliknąć. Następnie, aby program zebrał schemat aliasów należy w prawym górnym rogu programu zaznaczyć opcje INSTANCES i chwilke poczekać na załadowanie się wyników.

 

Obrazkowo opcja INSTANCES znajduję się tu:

instances1fb8.png

 

Wykonanie tej samej metody programem WMIExplorer (SAPIEN), jednakże nie uzyskamy pełnych informacji.

wmicon1ti4.png

 

Szczegółowo przedstawione i opisane klasy aliasów WMI w TechNet - Obszary nazw i klasy aliasów.

 

 

Listing w PowerShellu, aliasów konsoli WMIC:

wmishellhu4.png

 

gwmi -namespace "root\Cli" MSFT_CliAlias | fl FriendlyName, Description, Target, __PATH

FriendlyName - nazwa aliasu, Description - opis aliasu, Target - do jakiej klasy należy alias, __PATH - ścieżka

 

Listing i zapis danych do pliku html właściwości aliasów jak opis aliasu, nazwa, do jakiej należy klasy z poziomu samej konsoli WMIC:

wmic /namespace:\\root\Cli path MSFT_CliAlias get FriendlyName, Description, Target /format:htable > C:\KomWmic.htm

comxq0.png

 

 

WMI Code Creator v1.0

Microsoft

wmi3xj3.jpg

Klasa Win32_CodecFile wyświetla informację na temat zainstalowanych kodeków w systemie

 

To narzędzie nie jest już nowością, dostępne jest od kilku lat. Lecz nie wypadało o nim nie napisać. Zbierające informacje z klas WMI. Generuje kod w językach VBS, VB.NET, C#. Działa bez instalacji. Można nim pozyskiwać informacje na komputerze lokalnym, zdalnym lub z grupy komputerów. Dostępne pod adresem z witryny Microsoft. Wymagania dla poprawnego działania programu - .NET Framework 1.1 lub wersje pózniejsze.

 

 

WMI Explorer 1.02

KS-Soft

exp1ws2.png

 

modestart1ke2.png

Vista, XP, 2003, ME, 2000

 

WMI Explorer 1.02 to propozycja firmy KS-Soft. Nie wymaga instalacji.Narzędzie służy do zbierana klas WMI, domyślnie zbiera klasy z nazwy przestrzennej cimv2, Pozwala również na zdalne łączenie się z komputerem w sieci lokalnej. Pozwala na ręczne wyszukiwanie konkretnej klasy opcją SEARCH. Wyniki własności klasy wyświetlane są po użyciu opcji Execute, wyświetlą się w zakładce Query.

 

Co wyróżnia to narzędzie? Możliwość filtrowania wyników z wybranej klasy oraz obsługa programu z poziomu lini wiersza poleceń.

 

Fitrowanie wyników z wybranej klasy. Działa to na zasadzie nazwenictwa konsoli WMIC. Nie wybierając żadnej klasy należy przejść do zakładki Query.

 

1. W przykładzie, jak przefiltorwać wybrane własności z klasy Win32_process:

select Caption, HandleCount, ThreadCount from Win32_Process

 

2. W przykładzie, jak przefiltrować serwisy, które są w aktualnym momencie zatrzymane w systemie:

SELECT * FROM Win32_Service where state="stopped"

 

3. W przykładzie, jak przefiltrować procesy, które używają więcej niż 20MB pamięci:

SELECT Name, WorkingSetSize FROM Win32_Process WHERE WorkingSetSize>20000000

 

setsizepi0.png

 

4. W przykładzie, jak wyświetlić konkretny proces i jego wybrane własności:

SELECT Name, HandleCount FROM Win32_Process WHERE name='iexplore.exe'

 

5. W przykładzie, jak wyświetlić wybrane własności takie jak, pełna nazwa usługi, tryb startowy, stan usługi, przefiltrowane tak, aby wyświetlić te usługi, które w trybie startowym są uruchamiane automatycznie i uruchomione w aktualnym momencie:

 

SELECT Description, State, StartMode FROM Win32_Service WHERE State="running" AND StartMode="Auto"

 

Gwiazdka za SELECT * oznacza że zostaną wyświetlone wszystkie własności z wybranej klasy, jeżeli chcemy wyświetlić wybrane własności za SELECT bez gwiazki, wpisujemy wybrane własności.

 

 

Użycie programu z lini wiersza poleceń. Zamiast w GUI, a z lini wiersza poleceń możemy wybrać interesującą nas klase czy połączyć się ze zdalnym komputerem, a wyniki wyświetlą się w programie. Polecenia:

 

wmiexplorer.exe [-host:<hostname>] [-namespace:<namespace>] [-user:<username>] [-pswd:<password>] [-query:<WQL query>]

Przykład użycia zdalnego:

wmiexplorer.exe "-host:primarywebserv" "-namespace:root\cimv2" "-user:admin" "-pswd:secret words"

 

Przykład użycia wyświetlenia informacji z wybranej klasy:

wmiexplorer.exe "-query: select * from Win32_Process"

 

Wyświetlenie klasy z nazwy przestrzennej CLI:

wmiexplorer.exe  "-namespace:root\Cli"

 

Wyświetlenie informacji z własności z wybranej klasy:

wmiexplorer.exe   "-namespace:root\Cli" "-query: select * from MSFT_CliAlias"

 

Wyświetlenie usług, aktualnie zatrzymanych w systemie:

wmiexplorer.exe "-query:SELECT * FROM Win32_Service where state='stopped' "

 

Wyświetlenie wybranych własności wybranej klasy, np. własności procesów:

wmiexplorer.exe "-query: select CommandLine, Handle, Description, Priority from Win32_Process"

Opis programu. Do pobrania stąd.

 

 

 

WMI Tools v 0.2

Leviathan Seciurity Group

toolsssjq7.png

To małe narzędzie, działające z lini wiersza poleceń, nie wymaga instalacji, służące to wyświetlania w drzewie nazw przestrzennych i nie tylko. Dostępne TU.

 

 

CleWmi v1.4

Jared Cheney

 

clewmifq3.th.pngnamespacemi6.th.png

 

CleWmi v1.4 moge te aplikację spokojnie nazwać mini konsolą WMIC, nie jest oczywiście tak rozbudowana, ale naprawde możliwości są jej duże. Umożliwia:

  • zdalne łączenie się z maszyną w sieci lokalnej
  • zdalne wykonywanie prostych zadań na maszynie lokalnej
  • listowanie klas
  • listowanie własności wybranej klasy
  • listowanie metod jakie można wykonywać na klasie
  • filtrowanie wybranych własności z klasy
  • filtrowanie wyniku z wybranej własności z konkretnej klasy

 

Jak wyświetlić pomoc programu:

CleWmi -h

lub

CleWMi --help

 

Jak wyświetlić wszystkie klasy WMI w postaci drzewa (lista będzie potężna)

CleWMi --recurseClasses

 

Jak wyświetlić wszystkie nazwy przestrzenne:

CleWMi --listNameSpaces

 

Jak wyświetlić wyniki własności z wybranej klasy:

CleWMi -c Win32_Process

przełącznik -c wprowadza mozliwość wybrania klasy WMI

 

Jak wyświetlić listę metod, które można wykonać na wybranej klasie:

CleWMi -c Win32_Process --ListMethods

 

Jak wyświetlić spis własności z wybranej klasy:

CleWMi -c Win32_Process --list

 

Jak przefiltrować wybrane własności do wyświetlenia informacji:

CleWMi -c Win32_Process -p Name,PathName

przełacznik -p wprowadza filtr w którym wybieramy własności

filtrowbm5.th.png

 

Jak uzyskac liste klas WMI z wybranej przestrzeni nazw:

CLeWMI -n root/cimv2 --listclasses

 

Jak uzyskać liste nazw przestrzennych, które znajdują się w głównej nazwie przestrzennej:

CLeWMI -n root/cimv2 --listNameSpaces

przełącznik -n wprowadza możliwość filtrowania

 

Jak przefiltrować wynik konkrentej własności. W przykładzie wyświetlenie informacji o tych usługach, które są aktualnie zatrzymane w systemie:

CleWMi -c Win32_Service -p Name,DisplayName -f "state~%stopped%"

 

Formatowanie wyświetlania wyników:

CleWMi -c Win32_Service -p Name,DisplayName -f "state~%stopped%" -o csv

Przełącznik, który wprowadza polecenia formatujące zawartość -o

Dostepne przełaczniki:

tab (tabela)

csv (lista, dane wyświetlane zaraz po sobie)

list (lista, dane wyświetlane pod sobą)

 

Wyswietlenie wyników bez bannera programu:

CleWMi -c Win32_Service -p Name,DisplayName -f "state~%stopped%" -o list --noBanner

 

Wyświetlenie informacji z wybranego obiektu, tym obiektem w przykładzie jest konkretna usługa:

CleWMi -w "Select * FROM Win32_Service WHERE Name = 'Alerter'"

 

Wyświetlenie informacji z wybranego obiektu, również wybranej usługi, ale z wyświetleniem wybranych własności:

CleWMi -w "Select * FROM Win32_Service WHERE Name = 'Alerter'" -p Name,PathName

przełacznik -w wprowadza filtr dla wybieranego obiektu

 

Własności wpisujemy przy sobie bez spacji:

dobrze: -p Name,PathName

źle: -p Name , PathName

 

Raportowanie przebiegu wykonywania operacji zbierania wyników:

CleWMi -w "Select * FROM Win32_Service WHERE Name = 'Alerter'" -p Name,PathName -v

raporthe3.th.png

 

Posłuży do tego przełacznik -v

 

Jak zapisać raport przebiegu wykonania operacji zbierania wyników:

CleWMi -w "Select * FROM Win32_Service WHERE Name = 'Alerter'" -p Name,PathName -v -l C:\Log.txt

 

Zostanie tylko zapisany raport przebiegu.

Do zapisywania danych w pliku służy przełącznik -l

 

Minusem aplikacji jest to że może tylko wyświetlać metody jakie można wykonywać na danym obiekcie, ale nie posiada możliwości realizacji tych metod. Aplikacja dostępna pod adresem: CLeWMI - Command Line WMI query tool.

 

To Tyle...

 

Prezentacyjnie WmiChk v1.23 (MS)

wmichkjh9.png

Niestety nie jest to narzędzie ogólno dostępne i powiem że nie rozumiem tego, ale je zaprezentuje, można je znaleść gdzieś w jakieś książce wydawnictwa MS, niestety nie moge go zlinkować z wiadomych przyczyn. Bardzo prosto ujmując narzędzie to sprawdza kolokwialnie stan dostawców WMI, wykaz zainstalowanego oprogramowania oraz wykaz uruchomionych usług. Pozwala także na diagnostyke z komputerami w sieci lokalnej.

 

Dobrym diagnostycznym skryptem jest WMI Diagnosis Utility, dostępny tutaj. Opis interpretacji logów znajduje się tu. To Tyle....

 

 

 

WMI_Utility.exe

Narządko to działa z lini wiersza poleceń, nie wymaga instalacji. To dość ciekawa alternatywa. Narzędzie listuje klasy wmi z przestrzeni nazw root/Cimv2, pozwala uzyskiwać wyniki własności z wybranej klasy, pozwala listować same własności z wybranej klasy, pozwala wyszukiwać własności czy klasy po wpisanej frazie.

 

checkjq5.th.pngpropertykm8.th.png

 

Dostępne pod adresem: WMI Search Utility

Odnośnik do komentarza

Skrypty batchowe z użyciem WMIC.

WMIC - WMI queries from the command line

 

Hardware.batSkrypt podaje podstawowe informacje o zestawieniu sprzętowym komputera. Pozwala odpytywać komputery w sieci, domyślnie jest to system lokalny. Wyniki wyświetlane są w postaci listy oraz tworzy raport w formacie pliku .csv. Wymagania: Windows XP PRO i wyżej.

hardware_xp.txt

 

hardware.png

 

 

DiskSpc.batSkrypt wyświetla podstawowe informacje o lokalnych dyskach w naszym komputerze. Domyślnie sprawdza lokalny komputer, może zostać użyty bez podania parametrów. Przełącznikami pozwala ustawić format wyświetlania informacji w postaci listy, tabeli. Zapisać dane do pliku csv lub html, także z formatowaniem danych. Parametr /SL umożliwia pobranie listy komputerów z pliku tekstowego, które mają zostać również sprawdzone. Wymagania: Windows XP PRO i wyżej.

diskspc_xp.txt

 

diskspc.png

 

Przykład użycia:

 

 

Zapisanie informacji do pliku html w formacie tabeli:

 

 

DiskSpc.bat /HT > DiskSpc.html

 

BootDisk.batSkrypt podaje informacje o dysku rozruchowym. Wymagania: Windows XP PRO i wyżej.

bootdisk_xp.txt

 

bootdisk.png

 

 

BattStat.batSkrypt podaje informacje o aktualnym stanie baterii na komputerze lokalnym. Wymagania: Windows XP PRO i wyżej.

battstat_xp.txt

 

battstat.png

 

 

PwdNoExp.batSkrypt ustawia hasło użytkownika "Hasło nigdy nie wygasa" dla lokalnego konta. Skrypt w pierwszej kolejności sprawdza aktualny stan ustawienia hasła. Wymagania: Windows XP PRO i wyżej.

pwdnoexp_xp.txt

 

pwdnoexp.png

 

 

 

MdmCmds.batSkrypt podaje informacje o konfiguracji modemu. Wymagania: Windows XP PRO i wyżej.

mdmcmds_xp.txt

 

mdmcmds.png

 

 

Źródło: www.robvanderwoude.com

Odnośnik do komentarza
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...