Мордовский государственный университет имени Н.П. Огарева
Опубликован: 12.01.2008 | Доступ: свободный | Студентов: 8760 / 1454 | Оценка: 4.48 / 4.12 | Длительность: 18:38:00
Лекция 15:

Форматы вывода данных WMIC. Типичные команды для администрирования

< Лекция 14 || Лекция 15: 123 || Лекция 16 >
Вывод в текстовый файл

Для того чтобы перенаправить вывод операторов LIST и GET в текстовый файл, используется параметр /OUTPUT вместе с форматами вывода TEXTTABLE, TEXTTABLEWSYS и TEXTVALUELIST.

Формат TEXTTABLE позволяет получить информацию в табличном виде, где каждая колонка соответствует определенному свойству класса WMI, причем числовые значения форматируются в соответствии с региональными настройками Windows.

Формат TEXTTABLEWSYS также позволяет получить таблицу аналогичной структуры, однако числовые значения здесь выводятся без дополнительного форматирования.

С помощью формата TEXTVALUELIST можно для каждого возвращаемого экземпляра класса WMI получить список пар вида свойство=значение.

Вывод в CSV-файл

Стандартный формат вывода CSV позволяет преобразовывать информацию, возвращаемую командами WMIC, в формат файла с разделителями, при этом в качестве разделителя выступает запятая. Данные файлы потом могут быть легко открыты, например, с помощью программы Microsoft Excel.

Для примера выполним следующую команду:

/OUTPUT:C:\klop.csv PROCESS LIST BRIEF /FORMAT:CSV

В результате на диске C формируется текстовый файл klop.csv, в первой строке которого будут записаны разделенные запятыми названия свойств псевдонима PROCESS, а в остальных строках — значения этих свойств для всех процессов, запущенных в системе:

Node,HandleCount,Name,Priority,ProcessId,ThreadCount,WorkingSetSize,
POPOV,0,System Idle Process,0,0,1,20480,
POPOV,194,System,8,4,50,131072,
POPOV,21,SMSS.EXE,11,364,3,159744,
...

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

В данном разделе приведены примеры команд, которые позволяют из среды WMIC выполнять повседневные администраторские задачи, связанные с управлением компьютером, получением сведений о состоянии оборудования и операционной системы и т. д.

Завершение сеанса пользователя

Для того чтобы принудительно завершить сеанс пользователя, можно воспользоваться методом Win32ShutDown псевдонима OS. Этот метод имеет один обязательный параметр, задающий действие, которое нужно произвести при завершении работы пользователя (это может быть завершение сеанса, перезагрузка или выключение компьютера). Для завершения сеанса пользователя значение этого параметра должно быть равно нулю.

Отметим, что метод Win32ShutDown нельзя вызвать, не указав с помощью оператора WHERE конкретный экземпляр псевдонима OS, причем даже в том случае, когда у псевдонима OS имеется единственный экземпляр, поэтому обязательно нужно применить оператор WHERE, задав в качестве условия, скажем, совпадение значения свойства CSNAME с именем компьютера, на котором вызывается метод. Например:

/NODE:POPOV OS WHERE(CSNAME="POPOV") CALL Win32ShutDown 0
Перезагрузка и выключение компьютера

Для перезагрузки компьютера нужно вызвать метод Win32ShutDown с параметром 2. Например:

/NODE:POPOV OS WHERE(CSNAME="POPOV") CALL Win32ShutDown 2

Выключение компьютера производится путем запуска метода Win32ShutDown с параметром 1. Например:

/NODE:POPOV OS WHERE(CSNAME="POPOV") CALL Win32ShutDown 1

Замечание

Для выполнения метода Win32ShutDown у пользователя должен быть установлен режим использования всех привилегий ( /PRIVILEGES:ENABLE ).

Вывод информации о BIOS

Для получения информации о BIOS (версия, серийный номер, дата выпуска и т. д.) следует вывести свойства псевдонима BIOS:

/OUTPUT:C:\bios.txt BIOS GET /FORMAT:TEXTVALUELIST

В этом примере данные выводятся в текстовый файл bios.txt, содержимое которого представлено в листинге 15.1.

Замечание

Изменять значения свойств у псевдонима BIOS нельзя.

BiosCharacteristics={7,9,10,11,12,15,16,19,20,21,22,
  23,24,25,26,27,28,29,30,32,33,34,36,37,40,41}
BIOSVersion={"INTEL  - 20050804","BIOS Date: 08/04/05 
 00:31:45 Ver: 08.00.10","BIOS Date: 08/04/05 00:31:45 
   Ver: 08.00.10"}
BuildNumber=
Caption=BIOS Date: 08/04/05 00:31:45 Ver: 08.00.10
CodeSet=
CurrentLanguage=enUS
Description=BIOS Date: 08/04/05 00:31:45 Ver: 08.00.10
IdentificationCode=
InstallableLanguages=1
InstallDate=
LanguageEdition=
ListOfLanguages={"enUS"}
Manufacturer=Intel Corp.
Name=BIOS Date: 08/04/05 00:31:45 Ver: 08.00.10
OtherTargetOS=
PrimaryBIOS=TRUE
ReleaseDate=20050804000000.000000+000
SerialNumber= 
SMBIOSBIOSVersion=BF86510A.86A.0077.P25.0508040031
SMBIOSMajorVersion=2
SMBIOSMinorVersion=3
SMBIOSPresent=TRUE
SoftwareElementID=BIOS Date: 08/04/05 00:31:45 Ver: 08.00.10
SoftwareElementState=3
Status=OK
TargetOperatingSystem=0
Version=INTEL  - 20050804
Листинг 15.1. Информация о BIOS
Просмотр параметров загрузки

Информация о параметрах загрузки системы (путь к загрузочным файлам, каталогу для хранения временных файлов, буква последнего диска в системе и т. д.) может быть получена с помощью псевдонима BOOTCONFIG:

wmic:root\cli>BOOTCONFIG GET /VALUE

BootDirectory=\WINDOWS
Caption=\Device\Harddisk0\Partition1
ConfigurationPath=\WINDOWS
Description=\Device\Harddisk0\Partition1
LastDrive=D:
Name=BootConfiguration
ScratchDirectory=C:\WINDOWS\system32\config\
  systemprofile\Local Settings\Temp
SettingID=
TempDirectory=C:\WINDOWS\system32\config\
systemprofile\Local Settings\Temp

Изменять значения свойств у псевдонима BOOTCONFIG нельзя.

< Лекция 14 || Лекция 15: 123 || Лекция 16 >
Валентина Тюрина
Валентина Тюрина

Вопрос по лекции 7, где рассматривается взаимодействие со сторонними программами, в том числе эмуляция нажатия кнопок клавиатуры WshShell.SendKeys.

Вопрос в том что во время автоматизации может потребоваться не нажатие клавиатуры, а нажатие кнопок в сообщениях этих программ.

Можно вытащить информацию о объекте (кнопке) скажем с помощью AutoIt Info, или ориентироваться скажем на текст на кнопке..., но как на эту кнопку нажать? (без обхода по клавиатуре)

Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.