Утилита WMIC, часть 2 – методы и ключи |

Basic wmic usage

Most WMIC commands are issued in the following format:

wmic [credentials] [area] [querystring]

For example, you can collect a list of groups on the local system using the following command:

wmic group list brief

which will return output similar to this:

Event logs

  • Obtain a Certain Kind of Event from Eventlog
wmic ntevent where (message like "%logon%") list brief
wmic nteventlog where (description like "%secevent%") call cleareventlog

Retrieve list of warning and error events not from system or security logs

WMIC NTEVENT WHERE “EventType < 3 AND LogFile != ‘System’ AND LogFile != ‘Security’” GET LogFile, SourceName, EventType, Message, TimeGenerated /FORMAT:”htable.xsl”:” datatype = number”:” sortby = EventType” > c:appevent.htm

Networking

Use the following command to extract a list of network adapters and IP address information:

wmic nicconfig list
wmic nic get macaddress
  • Update static IP address:
wmic nicconfig where index=9 call enablestatic("192.168.16.4"), ("255.255.255.0")
wmic nicconfig where index=9 call setgateways("192.168.16.4", "192.168.16.5"),(1,2)
wmic nicconfig where index=9 call enabledhcp
  • Get List of IP Interfaces
wmic nicconfig where IPEnabled='true'

Patch management

Need to know if there are any missing patches on the system? WMIC can help you find out with this command:

wmic qfe list

The QFE here stands for “Quick Fix Engineering”.The results also include the dates of install should that be needed from an auditing standpoint.

Processes

WMIC can collect a list of the currently running processes similar to what you’d see in “Task Manager” using the following command:

wmic process list

Note that some of the WMIC built-ins can also be used in “brief” mode to display a less verbose output. The process built-in is one of these, so you could collect more refined output using the command:

wmic process list brief

Other examples

wmic process call create "calc.exe"
wmic process where name="calc.exe" call terminate

wmic process where name="explorer.exe" call setpriority 64
  • Get List of Process Identifiers
wmic process where (Name='svchost.exe') get name,processid
wmic process list brief find "cmd.exe"

Services

WMIC can list all of the installed services and their configurations using this command:

wmic service list

The output will include the full command used for starting the service and its verbose description.

Other examples

 wmic service where caption="DHCP Client" call changestartmode "Disabled"
  • Look at services that are set to start automatically
wmic SERVICE WHERE StartMode="Auto" GET Name, State
  • Services Report on a Remote Machine HTML Formatted:
wmic /output:c:services.htm /node:server1 service list full / format:htable
  • Get Startmode of Services
Wmic service get caption, name, startmode, state
  • Change Start Mode of Service:
wmic service where (name like "Fax" OR name like "Alerter") CALL ChangeStartMode Disabled
  • Get Running Services Information
Wmic service where (state="running") get caption, name, startmode, state

Of course, these are just samplings of the dozens of predefined aliases within WMIC.You can also go beyond the predefined aliases using WQL queries to collect and set any of themany thousands of parameters accessible through WMI.

Shares

Enumeration of all of the local shares can be collected using the command:

wmic share list

The result will also include hidden shares (named with a $ at the end).

wmic SHARE WHERE "NOT Name LIKE '%$'" GET Name, Path

System information and settings

You can collect a listing of the environment variables (including the PATH) with this command:

wmic environment list
  • OS/System Report HTML Formatted
wmic /output:c:os.html os get /format:hform
  • Products/Programs Installed Report HTML Formatted
wmic /output:c:product.html product get /format:hform

  • Turn on Remoted Desktop Remotely

Wmi на службе системного администратора. — реальные заметки ubuntu & mikrotik

Windows Management Instrumentation (WMI) — это базовая технология как для управления так и для слежения за работой платформы Windows.

Только пользователи локальной группы «Администраторы» имеют право запускать WMIC.

В основе структуры данных в WBEM лежит Common Information Model (CIM), реализующая объектно-ориентированный подход к представлению компонентов системы. CIM является расширяемой моделью, что позволяет программам, системам и драйверам добавлять в неё свои классы, объекты, методы и свойства.

Важной особенностью WMI является то, что хранящиеся в нём объекты соответствуют динамическим ресурсам, то есть параметры этих ресурсов постоянно меняются, поэтому параметры таких объектов не хранятся постоянно, а создаются по запросу потребителя данных. Хранилище свойств объектов WMI называется репозиторием и расположено в системной папке операционной системы Windows:

Так как WMI построен по объектно-ориентированному принципу, то все данные операционной системы представлены в виде объектов и их свойств и методов.

Все классы группируются в пространства имен, которые иерархически упорядочены и логически связаны друг с другом по определенной технологии или области управления. В WMI имеется одно корневое пространство имен Root, которое в свою очередь имеет 4 подпространства: CIMv2, Default, Security и WMI.

Классы имеют свойства и методы и находятся в иерархической зависимости друг от друга, то есть классы-потомки могут наследовать или переопределять свойства классов-родителей, а также добавлять свои свойства.

Свойства классов используются для однозначной идентификации экземпляра класса и для описания состояния используемого ресурса. Обычно все свойства классов доступны только для чтения, хотя некоторые из них можно модифицировать определенным методом. Методы классов позволяют выполнить действия над управляемым ресурсом.

Каждому экземпляру класса можно обратиться по полному пути, который имеет следующую структуру:

[\ComputerNameNameSpace][:ClassName][.KeyProperty1=Value1][,KeyProperty2=Value2]…]

где

ComputerName – имя компьютера

NameSpace – название пространства имен

ClassName – имя класса

KeyProperty1=Value1, KeyProperty2=Value2 – свойства объекта и значения, по

которому он идентифицируется.

Пример обращения к процессу с именем «Calc.exe», который запущен на локальной машине:

\.CIMv2:Win32_Process.Name=»Calc.exe»

Экземпляры классов могут генерировать события, к которым можно подписываться. При наступлении события WMI автоматически создает экземпляр того класса, которому соответствует это событие. Такой механизм удобно использовать для выполнения определенной команды при наступлении определенного события, то есть следить за состоянием объектов операционной системы.

Общая безопасность в WMI реализуется на уровне операционной системы, а дополнительная политика безопасности основана на уровнях пространств имен и протокола DCOM. То есть если пользователь не имеет права делать какое-то действие через операционную систему, он не сможет это сделать и через WMI. Если же пользователю дано какое-то право в операционной системе, то это ещё не означает, что это право будет и в WMI, так как в WMI действуют дополнительные параметры безопасности на уровне пространств имен.

:/>  Как открыть командную строку

Для вызова удаленных процедур WMI использует модель DCOM. В случае если возникает ошибка «Dcom Access Denied» то действия будут следующими: меня «Выполнить»->»dcomcnfg»->»Службы компонентов(Component Services)->Компьютеры->Мой компьютер->Свойства(правая кнопка мыши)->вкладка Безопасность COM Уровни олицетворения могут принимать следующие значения:

AnonymousАнонимныйWMI-объект не может получить информацию о пользователе — доступ по такому типу не предоставляется
IdentifyИдентификацияWMI-объект запрашивает маркер доступа пользователя — доступ предоставляется только локально
ImpersonateОлицетворениеWMI-объект имеет такие же права, какие имеет пользователь — рекомендуемый уровень для выполнения команд на удаленном компьютере
DelegateДелегированиеWMI-объект может обратиться от имени пользователя к другому WMI-объекту — нерекомендуемый уровень, так как команды можно выполнять удаленно через цепочку из нескольких компьютеров

Уровни аутентификации (подлинности) могут принимать следующие значения:

NoneОтсутствуетПроверка подлинности отсутствует
DefaultПо умолчаниюСтандартные настройки безопасности, которые задаются компьютером-целью команды
ConnectПодключениеПроверка только во время подключения к компьютеру-цели команды, проверка в ходе работы отсутствует
CallВызовПроверка подлинности при каждом запросе к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется
PktПакетПроверка подлинности всех пакетов к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется
PktIntegrityЦелостность пакетаПроверка подлинности и целостности всех пакетов к компьютеру-цели команды, заголовки пакетов подписываются, но содержимое не шифруется
PktPrivacyСекретность пакетаПроверка подлинности и целостности всех пакетов к компьютеру-цели команды, заголовки и содержимое пакетов подписываются и шифруются

wmimgmt.msc — оснастка консоли управления MMC для настройки WMI на локальном компьютере.

winmgmt.exe — консольная утилита управления WMI локального компьютера.

wbemtest.exe — графическая утилита для взаимодействия со структурой WMI на локальном или удаленном компьютере.

wmic.exe — консольная утилита для взаимодействия со структурой WMI на локальном компьютере.

mofcomp.exe — компилятор MOF-файлов для расширения структуры WMI, управления библиотекой классов WMI и восстановления репозитория.

Сейчас я покажу практические примеры используемые в моей повседневной работе:

Удаление больших файлов с расширением .log

wmic datafile where «drive=’с:’ and Extension=’.log’ and FileSize>’100000′» call delete

Список заблокированный учетных записей(вывод в файл на диске с:)

Wmic /output:»c:useraccount.html» useraccount where (Status=’Degraded’) list full /format:htable

Определение архитектуры (Как пример на Server 2008)

 wmic OS get OSArchitecture

Определяет тип сервера (Server 2008)

Команда возвращает числовое значение. Для Windows 2008 Server ониследующие:

     7 = Windows Server 2008 Standard Edition (full installation)

    8 = Windows Server 2008 Datacenter Edition (full installation

    10 = Windows Server 2008 Enterprise Edition (full installation)

    12 = Windows Server 2008 Datacenter Edition (core installation)

    13 = Windows Server 2008 Standard Edition (core installation)

    14 = Windows Server 2008 Enterprise Edition (core installation)

    42 = Hyper-V Server 2008

            wmic OS get OperatingSystemSKU

 Как подключаться удаленным системам.

            /node:<имя_компа>

            /user:<имя_пользователя>

            /pass:<пасс_пользователя>

Завершить процесс по названию.

wmic.exe process where name=»calc.exe» delete

Wmic process where (caption=”notepad.exe”) call terminate

 Получить более подробную справку по запуску команд.

process call /?:full

 Если необходимо получить сведения о службе оповещения на компьютере

/node:<имя_компьютера> service where name=»alerter» list

 Вывод сведений на экран

            process where (name=»explorer.exe») get caption,commandline,handle

Чтобы представить вывод в файл в табличном режиме

            /output:c:table.htm process get /format:htable

path win32_process.name=»explorer.exe» get caption,commandline,handle

При соединении с удалёнными системами можно брать имена компьютеров из текстового файла (server1,server2,server3)

/node:@c:nodes.txt

context

 Сохранение во внешнем XML-файле историю запускаемых в текущей сессии wmic-команд и результаты их выполнения.

            /record:c:outwmic.xml

 Чтобы запустить новый процесс

            process call create cmd.exe

 Подключение к другому компьютеру возможно ещё так

            /node:server /user:test /password:»password»

            /node:<ip_address>

            /user:Domainname

 Чтобы перезагрузить компьютер

            /privileges:enable

            /node:user os where (csname=»user») call win32shutdown 2

 Чтобы выключить компьютер

            /node:user os where (csname=»user) call win32shutdown 1

 Вывод свойств операционной системы

            os get /value

 Вывод информация о состоянии всех зарегистрированных служб на компьютерах server1, server2, server3

            /node:server1,server2,server3 /output:c:service.htm service get name,displayname,state /format:htable

 Запуск и остановка служб

            /node:server1 service where (name=»squid.exe») call startservice

Принудительно выключить компьютер

            wmic os where primary=»TRUE» call win32shutdown 6

            \FORD-POLLROOTCIMV2:Win32_OperatingSystem.Name=»Microsoft Windows XP Professional|C:\WINDOWS|\Device\Harddisk0\Partition1″

 Для того чтобы запустить сервис надо (вывести список сервисов в системе)

            service list brief

            service where (name=»<имя_сервиса>») call startservice || stopservice

            /output:c:service.html service list full /format:htable

 Чтобы работало wmic, надо

            Служба WMI должна быть помещена в автозапуск, а также должно быть разрешено соединение по DCOM:

1) В разделе реестра HKLMSOFTWAREMICROSOFTOLE установите значение EnableDCOM в «Y», а также EnableRemoteConnect в «Y». Значение EnableRemoteConnect по умолчанию «N».

2) В разделе реестра HKLMSOFTWAREMicrosoftwbemcimom установите значение AutostartWin9X в «2». Установите значение EnableAnonConnections в «1».

3) Добавьте файл Winmgmt.exe в автозагрузку. Файл находится в каталоге WindowsWBEM.

Модели DCOM сопоставлен TCP-порт 135.

netsh firewall add portopening TCP 135 DCOM_TCP135

 Удаленно включаем службу удаленный рабочий стол (RemoteDesktop)

             Wmic /node:»servername» /user:»user@domain» /password:»password» RDToggle where ServerName=»server name» call SetAllowTSConnections 1

 Вывод служб которые запускают с правами LocalSystem

            /output:c:idcns.html service where startname=»LocalSystem» get Caption,name,started

 Список шар на локальном машине

            wmic share get caption,name,path

 Перечисление  всех путей к папкам из которых запущены программы

            wmic.exe process get «ExecutablePath»,  «ProcessID»

 Драйверы в системе возможно останавливать или запускать например:

            net stop beep

            net start beep

            sc stop beep

            sc start beep

            wmic sysdriver where name=’beep’ call PauseService

  методы класса Win32_SystemDriver

            StartService    -> запускает службу или драйвер

            StopService     -> останавливает службу или драйвер

            PauseService  -> переводит службу или драйвер в состояние паузы

            ResumeService           -> восстанавливает состояние драйвера или службы

            InterrogateService     -> заставляет службу или драйвер обновить своё состояние в SCM

            UserControlService               -> позволяет послать службе или драйверу пользовательское сообщение.

            Create -> создаёт новую службу или драйвер

            Change           -> изменяет службы или драйвер

            ChangeStartMode      -> изменяет режим запуска службы или драйвера

            Delete             -> удаляет службу или драйвер

 Выключаем локальную машину.

                ping -n seconds 127.0.0.1>nul&wmic OS WHERE Primary=»TRUE» CALL Win32Shutdown 6

:/>  Обнаружение сетевых устройств / Хабр

где seconds — желаемое число секунд 1; Win32Shutdown 6 — 6 = 2 (reboot) 4 (force). Никакого видимого сообщения о перезагрузке выведено не будет.

 Полезные информационные сборки параметров.

wmic computersystem get domain, EnableDaylightSavingsTime, Manufacturer, Model, PartOfDomain, TotalPhysicalMemory, username

wmic bios get Caption, Manufacturer, SMBIOSBIOSVersion, Version

wmic baseboard get Manufacturer, Model, Product, SerialNumber, Version

wmic cpu get deviceID, Addresswidth, MaxClockSpeed, Name, Manufacturer, ProcessorID

wmic logicaldisk where drivetype=3 get name, freespace, systemname, filesystem, size, volumeserialnumber

            drivetype::

                                   = 1 NoRootDirectory             The drive does not have a root directory.

                                   = 2 Removable           The drive is a removable storage device, such as a floppy disk drive or a USB flash drive.

                                   = 3 Fixed        The drive is a fixed disk.

                                   = 4 Network   The drive is a network drive.

                                   = 5 CDRom    The drive is an optical disc device, such as a CD or DVD-ROM.

                                   = 6 Ram          The drive is a RAM disk.

 Задание приоритета процессору

            wmic process where «name=’notepad.exe’» call setpriority 64

 Выполнение команд через wmic

            просто вставляем в командную строку

            wmic process call create ‘cmd.exe /c ping 10.30.10.101’

 Прописываем DNS-суффиксы удаленно

            wmic /node: /failfast:on nicconfig call SetDNSSuffixSearchOrder (ford-i.ru,tc-toyota.local,lexus.local)

 Прописываем DNS-сервера

            nicconfig where index=8 call setdnsserversearchorder («10.30.5.2″,»10.30.5.3»)

             ,где index= указывает номер интерфейса в системе на котором у вас поднята сеть

 Команды загружаемые при входе системы

            wmic startup list full && system

wmic:rootcli>/output:c:startup_full.html startup  list  full  /format:htable

wmic:rootcli>/output:c:startup_system.html startup  list  system  /format:htable

Wmic in forensics

In forensics, it’s often important to get as much information about the running system as possible before the system can be shut down.You’d also like to collect that information while keeping close records that account for your own actions and leave the smallest footprint possible on the system.Though WMIC wa sn’t really designed with this in mind, it certainly works.

Since WMIC is included by default on most Windows systems and can be executed remotely, that makes it all the more desirable.

Another interesting feature of WMIC is its ability to record the run-time command executed and runtime configuration all in one XML file. A recorded session might look something like this:

Wmic in vulnerability and penetration testing

In vulnerability and penetration testing, system footprinting is key. The more information that can be collected about a specific system or group of systems, the greater the likelihood that those systems can be compromised.

Wmic output formats | msconfig.ru

WMIC Output Formats

Obtained by executing: wmic [stuff to do] /format /?
Keyword/XSL filename to process XML results.
USAGE:

/FORMAT:<format specifier>
NOTE: <formatspecifier> : ((<transformname>|<transformname> : <paramstring>)[,<formatspecifier>]).
where <paramstring>:((<parametername>=<value>)[,<paramstring>]).

NOTE: <transformname> is a <key word> or an <xsl file name>.

Keywords:

CSV
HFORM
HMOF
HTABLE
HXML
LIST
RAWXML
TABLE
VALUE
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl

§

WMIC Output Formats

Obtained by executing: wmic [stuff to do] /format /?
Keyword/XSL filename to process XML results.
USAGE:

/FORMAT:<format specifier>
NOTE: <formatspecifier> : ((<transformname>|<transformname> : <paramstring>)[,<formatspecifier>]).
where <paramstring>:((<parametername>=<value>)[,<paramstring>]).

NOTE: <transformname> is a <key word> or an <xsl file name>.

Keywords:

CSV
HFORM
HMOF
HTABLE
HXML
LIST
RAWXML
TABLE
VALUE
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl

§

WMIC Output Formats

Obtained by executing: wmic [stuff to do] /format /?
Keyword/XSL filename to process XML results.
USAGE:

/FORMAT:<format specifier>
NOTE: <formatspecifier> : ((<transformname>|<transformname> : <paramstring>)[,<formatspecifier>]).
where <paramstring>:((<parametername>=<value>)[,<paramstring>]).

NOTE: <transformname> is a <key word> or an <xsl file name>.

Keywords:

CSV
HFORM
HMOF
HTABLE
HXML
LIST
RAWXML
TABLE
VALUE
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl

§

WMIC Output Formats

Obtained by executing: wmic [stuff to do] /format /?
Keyword/XSL filename to process XML results.
USAGE:

/FORMAT:<format specifier>
NOTE: <formatspecifier> : ((<transformname>|<transformname> : <paramstring>)[,<formatspecifier>]).
where <paramstring>:((<parametername>=<value>)[,<paramstring>]).

NOTE: <transformname> is a <key word> or an <xsl file name>.

Keywords:

CSV
HFORM
HMOF
HTABLE
HXML
LIST
RAWXML
TABLE
VALUE
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl

§

WMIC Output Formats

Obtained by executing: wmic [stuff to do] /format /?
Keyword/XSL filename to process XML results.
USAGE:

/FORMAT:<format specifier>
NOTE: <formatspecifier> : ((<transformname>|<transformname> : <paramstring>)[,<formatspecifier>]).
where <paramstring>:((<parametername>=<value>)[,<paramstring>]).

NOTE: <transformname> is a <key word> or an <xsl file name>.

Keywords:

CSV
HFORM
HMOF
HTABLE
HXML
LIST
RAWXML
TABLE
VALUE
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl

§

WMIC Output Formats

Obtained by executing: wmic [stuff to do] /format /?
Keyword/XSL filename to process XML results.
USAGE:

/FORMAT:<format specifier>
NOTE: <formatspecifier> : ((<transformname>|<transformname> : <paramstring>)[,<formatspecifier>]).
where <paramstring>:((<parametername>=<value>)[,<paramstring>]).

NOTE: <transformname> is a <key word> or an <xsl file name>.

Keywords:

CSV
HFORM
HMOF
HTABLE
HXML
LIST
RAWXML
TABLE
VALUE
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl

§

WMIC Output Formats

Obtained by executing: wmic [stuff to do] /format /?
Keyword/XSL filename to process XML results.
USAGE:

/FORMAT:<format specifier>
NOTE: <formatspecifier> : ((<transformname>|<transformname> : <paramstring>)[,<formatspecifier>]).
where <paramstring>:((<parametername>=<value>)[,<paramstring>]).

NOTE: <transformname> is a <key word> or an <xsl file name>.

Keywords:

CSV
HFORM
HMOF
HTABLE
HXML
LIST
RAWXML
TABLE
VALUE
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl

§

WMIC Output Formats

Obtained by executing: wmic [stuff to do] /format /?
Keyword/XSL filename to process XML results.
USAGE:

/FORMAT:<format specifier>
NOTE: <formatspecifier> : ((<transformname>|<transformname> : <paramstring>)[,<formatspecifier>]).
where <paramstring>:((<parametername>=<value>)[,<paramstring>]).

NOTE: <transformname> is a <key word> or an <xsl file name>.

Keywords:

CSV
HFORM
HMOF
HTABLE
HXML
LIST
RAWXML
TABLE
VALUE
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl

Алиасы

Хочу обратить внимание на то, что для удобства в консольной утилите WMIC, мы работаем не напрямую с классами WMI, а с их алиасами

# Все алиасы мы видим когда набираем 
wmic /?
# Или отдельно выводим их на экран
wmic alias list brief

Выполнение команды wmi на удаленных хостах

wmic /node:'Server' OS get Caption

Примеры WMI команд

Получить модель материнской платы

wmic baseboard get product,manufacturer,version,serialnumber

Узнать разрядность системы

wmic /Node:%ComputerName% Path Win32_Processor Get AddressWidth /format:list
# Аналог команды для PoSh 
( Get-WmiObject Win32_OperatingSystem ).OSArchitecture

Получить программы из автозагрузки

wmic startup list brief

Узнать имя активного пользователя

:/>  Как на ноутбуке Asus выставить в BIOS загрузку с флешки? Несколько советов по установке Windows 7 с флешки USB 3.0

Глобальные параметры wmic

Для вывода списка глобальных ключей (параметров) используется команда CONTEXT. Сами параметры задаются в формате:

/Параметр:Значение

/NAMESPACE – позволяет выбрать пространство имен (смотрите статью Классы WMI, пространство имен и CIM) для выбора псевдонимов, по умолчанию выбирается пространство  RootCIMV2. Например:

/ROLE – позволяет выбрать пространство имен WMI, в котором хранятся описания псевдонимов, по умолчанию таким пространством является \rootcli, оно же отображается при приглашении в WMIC. Использование ключа ROLE актуально, если были созданные дополнительные роли (смотрите первую часть).

/NODE – задает имена систем (глобальные или локальный компьютер), к которым произойдет обращение при поиске классов. Например:

По умолчанию происходит поиск на локальном компьютере. При желании можно использовать подготовленный список компьютеров из внешнего файла, например:

/IMPLEVEL- данный параметр позволяет задать уровни олицетворения.

/AUTHLEVEL – данные параметры позволяют задать уровни проверки подлинности.

/LOCALE – хранит идентификатор языка (в формате MSXXX).

/PRIVILEGES – задает привилегии (значения ENABLE или DISABLE). Включение всех привилегий актуально, например, при перезагрузке или выключении компьютера. Например, следующая команда WMIC включает все привилегии:

/TRACE – включение (ON) или отключение (OFF) режима для отображения результатов выполнения WMIC команды.

/RECORD – дает возможность сохранять результаты выполнения команд во внешний XML файл, например:

Для отключения протоколирования надо в качестве значения прописать пустую строку:

/OUTPUT – перенаправление вывода результата команд во внешний текстовый файл или буфер обмена. Например:

/APPEND – позволяет направлять вывод данных одновременно и в указанный внешний файл и в консольное окно командной строки (параметр /OUTPUT должен быть со значением STDOUT). Например:

/INTERACTIVE – включает (ON) или отключает (OFF, значение по умолчанию) запрос на подтверждение выполнения WMIC команды. Например:

Запуск и завершение приложений

Запуск:

wmic process call create 'notepad.exe'

Завершение:

wmic process where name='notepad.exe' delete

Команды wmic

CONTEXT – предоставляет возможность получить список всех глобальных ключей (параметров) и их значений, использующихся в среде WMIC по умолчанию. Параметры ключей будут рассмотрены далее, по ходу статьи.

CLASS – дает возможность работать с классами WMI без использования псевдонимов (получить описание класса или создать его экземпляры). Просто, после команды WMIC CLASS прописываем имя интересующего нас класса, например:

Мы получим описание класса Win32_Process в формате HTML. Что бы перенаправить вывод в файл, можно сначала применить глобальный ключ /OUTPUT, например:

На выходе мы получим файл Win32_Process.html со списком всех свойств и методов класса Win32_Process.

PATH – данная команда дает возможность получить доступ к нескольким или же одному экземпляру заданного класса. Это эффективно, если у класса нет псевдонимов.

Фактически, команда PATH позволяет выполнять WQL запрос, например:

Что равносильно:

Можно даже так:

QUIT и EXIT – собственно, выход из утилиты WMIC и возврат в предыдущую оболочку.

Примеры использования wmic для получения сведений о компонентах системы.

WMIC OS LIST BRIEF — отобразить краткие сведения о системе.

WMIC OS GET csname,bootdevice,localdatetime — отобразить имя компьютера, устройство загрузки, локальные дату и время.

WMIC OS GET osarchitecture /value — отобразить архитектуру системы (разрядность Windows)

WMIC QFE list brief — отобразить список обновлений Quick Fix Engineering (QFE) Windows.

wmic qfe list brief | find “311” — отобразить список обновлений Windows, в названии которых присутствует 311.

WMIC QFE get hotfixid,description,installedOn — отобразить список обновлений Windows, включающий название, краткое описание и дату установки.

WMIC DISKDRIVE get name,size,model — отобразить список физических дисков, содержащих название модели, имя в системе и размер.

WMIC PARTITION list brief — отобразить список всех разделов на всех дисках.

WMIC LOGICALDISK list brief — отобразить список логических дисков.

WMIC LOGICALDISK where drivetype=4 get FreeSpace,ProviderName — отобразить свободное место и путь для сетевых дисков (drivetype=4)

WMIC LOGICALDISK where drivetype!=4 get freespace, description — отобразить свободное место и описание для локальных дисков, включая CD/DVD и съемные устройства хранения данных.

WMIC LOGICALDISK where description=’Local Fixed Disk’ get deviceid, volumename — отобразить идентификаторы (буквы дисков) и метки томов для всех локальных логических дисков.

WMIC SERVICE list brief | more — отобразить список системных служб в постраничном режиме.

WMIC SERVICE where state=”running” GET caption,name,state /format:list — отобразить список, включающий отображаемые имена, короткие имена и статус работающих системных служб.

WMIC SERVICE where state=”Stopped” GET caption,name,state /format:list — отобразить список, включающий отображаемые имена, короткие имена и статус остановленных системных служб.

WMIC SERVICE where name=’WinRM’ CALL STARTSERVICE — запустить службу удаленного управления Windows (WinRM)

WMIC SERVICE where name=’WinRM’ GET name,state — проверить состояние службы WinRM.

WMIC PRINTER LIST STATUS — отобразить список принтеров и их состояние.

WMIC BASEBOARD list brief — отобразить общую информацию о материнской плате компьютера.

wmic bios get Manufacturer — отобразить сведения о производителе BIOS.

wmic bios get smbiosbiosversion — отобразить версию BIOS.

wmic bios get Description — отобразить описание производителя BIOS.

WMIC MEMORYCHIP list brief — отобразить сведения о модулях памяти компьютера.

WMIC MEMORYCHIP GET Devicelocator,Capacity — отобразить сведения о размещении и емкости модулей памяти DIMM.

Примеры использования wmic для работы с процессами:

Для вывода сведений о принадлежности компьютера к домену:

wmic.exe ComputerSystem get Name, PartOfDomain

Для вывода сведений о процессах в html-файл:

wmic /output:c:proclist.htm process list /format:htable

Параметр /output задает имя файла с результатами, а параметр /format — формат выводимых данных.

wmic /output:proclist1.htm process list /format:hform — вывод результатов в HTML-файл в виде списка процессов с двумя колонками из названия свойства и его значения.

Для получения списка процессов на удаленной системе используется команда:

Форматирование вывода

Так как по умолчанию wmic возвращает не форматированный ответ, то если не определить форматирование вручную, мы увидим хаотически разбросанные по окну консоли слова:

Весьма информативно, не правда ли?

Для того что бы получить читаемый вывод, попробуйте использовать такую команду:

wmic BIOS list brief

Параметр brief выводит список основных параметров.Обычно не более 6 столбцов

Все типы форматов я смотрю такой командой:

wmic OS get /format /?

Можно использовать функцию /format, с любым доступным типом формата:

wmic BIOS get /format:list

Такой же вывод, как и в предыдущей команде, можно получить и следующим образом:

wmic BIOS list full

Оставьте комментарий