Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Задачи WMI для реестра создают и изменяют разделы и значения реестра. Другие примеры см. в разделе TechNet ScriptCenter в 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, расположенный в корневом пространстве имен\default. Невозможно получить экземпляры этого класса, так как поставщик системного реестра является только методом и поставщиком событий. Однако данные реестра можно получить с помощью таких методов, как EnumKey или EnumValue.
Win32_Registry, расположенный в пространстве имен root\cimv2, получает данные о реестре в целом, например о том, насколько он велик.
|
||||||||
... создайте новый раздел реестра? | Используйте классstdRegProv, расположенный в корневом пространстве имен\default, и метод CreateKey.
|
||||||||
... создайте новое значение реестра под ключом? | Используйте классstdRegProv, расположенный в корневом пространстве имен\default, и метод CreateKey. Затем используйте один из методов Set, в зависимости от того, какой тип данных реестра имеет значение, например значение SetDWORDValue. Методы Set создают значение, если оно еще не существует. Дополнительные сведения см. в статье Сопоставление типа данных реестра с типом данных WMI.
|
||||||||
... Избегайте получения ошибки недопустимого класса при попытке написать скрипт для чтения реестра? | Используйте пространство имен root\default при доступе к классу stdRegProv. StdRegProv не является частью пространства имен cimv2, поэтому при попытке подключиться к root\cimv2:StdRegProv возникает ошибка "Недопустимый класс".
|
||||||||
... Проверьте безопасность в определенном разделе реестра? | Используйте классstdRegProv, расположенный в корневом пространстве имен\default и методе CheckAccess. Вы можете проверить только права доступа для текущего пользователя, выполняющего скрипт или приложение. Невозможно проверить права доступа для другого указанного пользователя. |
||||||||
... чтение и запись двоичных значений реестра? | Используйте класс StdRegProv, расположенный в пространстве имен Root\Default, а также методы GetBinaryValue и SetBinaryValue. Значения реестра, отображаемые в служебной программе RegEdt32 в виде ряда шестнадцатеричных значений, находятся в формате данных REG_BINARY. Дополнительные сведения см. в статье Сопоставление типа данных реестра с типом данных WMI. В следующем примере кода VBScript создается новый ключ с двоичным значением. Двоичное значение предоставляется в массиве iValues байтов, указанном в шестнадцатеричном массиве.
Следующий скрипт считывает двоичное значение.
|
||||||||
... чтение и запись значений реестра, содержащих несколько строк? | Используйте класс StdRegProv, расположенный в пространстве имен root\default, а также методы GetMultiStringValue и SetMultiStringValue. Разделы реестра, которые отображаются в служебной программе RegEdt32 в виде ряда строк, разделенных пробелами, находятся в формате REG_MULTI_SZ данных. Дополнительные сведения см. в статье Сопоставление типа данных реестра с типом данных WMI. В следующем примере кода VBScript создается новый ключ и новое многострочный значение.
Следующий скрипт считывает многостронное значение.
|
||||||||
... Удалите раздел реестра? | Используйте классStdRegProv, расположенный в пространстве имен root\default и методах DeleteKey.
|