Задачи WMI: реестр
Задачи WMI для реестра создают и изменяют разделы и значения реестра. Другие примеры см. в центре сценариев TechNet по адресу https://www.microsoft.com/technet.
Примеры скриптов, показанные в этом разделе, получают данные только с локального компьютера. Дополнительные сведения о том, как использовать скрипт для получения данных с удаленных компьютеров, см. в статье Подключение к WMI на удаленном компьютере.
В следующей процедуре описывается выполнение скрипта.
Запуск сценария
- Скопируйте код и сохраните его в файл с расширением VBS, например filename.vbs. Убедитесь, что текстовый редактор не добавляет в файл расширение .txt.
- Откройте окно командной строки и перейдите в каталог, в котором сохранен файл.
- Введите cscript filename.vbs в командной строке.
- Если вы не можете получить доступ к журналу событий, проверка, чтобы узнать, выполняется ли вы из командной строки с повышенными привилегиями. Некоторые журналы событий, например журнал событий безопасности, могут быть защищены средствами управления доступом пользователей (UAC).
Примечание
По умолчанию cscript отображает выходные данные скрипта в окне командной строки. Так как скрипты WMI могут создавать большие объемы выходных данных, может потребоваться перенаправить выходные данные в файл. Введите cscript filename.vbs > outfile.txt в командной строке, чтобы перенаправить выходные данные скриптаfilename.vbs наoutfile.txt.
В следующей таблице перечислены примеры скриптов, которые можно использовать для получения различных типов данных с локального компьютера.
Часто выполняемые действия в новом интерфейсе | Классы или методы WMI | ||||||||
---|---|---|---|---|---|---|---|---|---|
... чтение значений разделов реестра с помощью инструментария WMI? | Используйте класс StdRegProv , расположенный в корневом пространстве имен по умолчанию. Невозможно получить экземпляры этого класса, так как поставщик системного реестра является только методом и поставщиком событий. Однако данные реестра можно получить с помощью таких методов, как EnumKey или EnumValue.
Win32_Registry, расположенный в пространстве имен root\cimv2, получает данные о реестре в целом, например о его размере.
|
||||||||
... создать новый раздел реестра? | Используйте класс StdRegProv , расположенный в корневом пространстве имен по умолчанию, и метод CreateKey .
|
||||||||
... создать новое значение реестра в разделе? | Используйте класс StdRegProv , расположенный в корневом пространстве имен по умолчанию, и метод CreateKey . Затем используйте один из методов Set в зависимости от типа данных реестра, например SetDWORDValue. Методы Set создают значение, если оно еще не существует. Дополнительные сведения см. в разделе Сопоставление типа данных реестра с типом данных WMI.
|
||||||||
... не возникает ошибка недопустимого класса при попытке написать скрипт для чтения реестра? | Используйте корневое пространство имен по умолчанию при доступе к классу StdRegProv . StdRegProv не является частью пространства имен cimv2, поэтому при попытке подключения к root\cimv2:StdRegProv возникает ошибка "Недопустимый класс".
|
||||||||
... проверка безопасность в определенном разделе реестра? | Используйте класс StdRegProv , расположенный в корневом пространстве имен по умолчанию, и метод CheckAccess . Вы можете проверка права доступа только для текущего пользователя, выполняющего скрипт или приложение. Вы не можете проверка права доступа для другого указанного пользователя. |
||||||||
... чтение и запись двоичных значений реестра? | Используйте класс StdRegProv , расположенный в пространстве имен Root\Default, а также методы GetBinaryValue и SetBinaryValue . Значения реестра, отображаемые в служебной программе RegEdt32 в виде ряда шестнадцатеричных значений байтов, находятся в формате REG_BINARY данных. Дополнительные сведения см. в разделе Сопоставление типа данных реестра с типом данных WMI. В следующем примере кода VBScript создается новый ключ с двоичным значением. Двоичное значение предоставляется в массиве байтов iValues , указанном в шестнадцатеричном формате.
Следующий скрипт считывает двоичное значение.
|
||||||||
... чтение и запись значений реестра, содержащих несколько строк? | Используйте класс StdRegProv , расположенный в корневом пространстве имен по умолчанию, а также методы GetMultiStringValue и SetMultiStringValue . Разделы реестра, которые отображаются в служебной программе RegEdt32 в виде ряда строк, разделенных пробелами, имеют формат данных REG_MULTI_SZ . Дополнительные сведения см. в разделе Сопоставление типа данных реестра с типом данных WMI. В следующем примере кода VBScript создается новый ключ и новое значение multistring.
Следующий скрипт считывает значение multistring.
|
||||||||
... удалить раздел реестра? | Используйте класс StdRegProv , расположенный в корневом пространстве имен по умолчанию и методах DeleteKey .
|