PowerShell

PowerShell

Все предыдущие сценарии с использованием BAT-, CMD-, WSH-файлов можно считать устаревшими. Компания Microsoft настоятельно рекомендует применять новую технологию Windows PowerShell для автоматизации работ, включая и взаимодействие с реестром. Давайте рассмотрим несколько примеров, позволяющих изучить возможности PowerShell.

Для начала запустим оболочку PowerShell. Для этого наберем в строке поиска меню Пуск текст powershell и нажмем Enter , выделив строку Windows PowerShell .

Работа с реестром в PowerShell схожа с работой с файлами на диске. Например, для перехода на ветвь HKEY_CURRENT_USER используется команда cd (также можно использовать команды set-location или ее псевдоним sl ): сd hkcu:

dir

На рис. 5.17 вы можете видеть выполнение этих команд в Windows PowerShell.

Рис. 5.17. Работа с реестром в PowerShell

В данном примере мы перешли в раздел HKEY_CURRENT_USER и вывели его подразделы.

Также мы можем загрузить содержимое всей ветви реестра HKEY_CURRENT_USER в переменную reg:

sl hkcu:

$reg =-gci. –rec –ea silentlycontinue

Здесь используется псевдоним gci для команды get-childitem . Первый аргумент этой команды «.» (точка) указывает на то, что мы хотим получить содержимое текущей ветви реестра – HKEY_CURRENT_USER . Второй аргумент является сокращением от опции –recurse и указывает на то, что нужно рекурсивно пройтись по всем подразделам текущей ветви реестра. И наконец, третий аргумент – – ea silentlycontinue – указывает на то, что команда должна продолжать выполняться даже в случае возникновения ошибок, связанных с недостатком прав доступа к определенным разделам реестра. Теперь мы можем сохранить значение переменной в файле или использовать где-то в сценарии дальше.

Создание нового раздела

Для создания нового раздела используется команда NewItem . Мы уже создавали раздел Test . Давайте теперь создадим раздел Test2:

cd hkcu:

New-Item HKCU:SoftwareTest2

Удаление раздела

Удалить раздел из реестра тоже очень просто при помощи команды Remove-Item:

Remove-Item HKCU:SoftwareTest2

Переименование раздела

Переименовать раздел можно с помощью команды Rename-Item . В следующем примеры мы снова создаем раздел Test2, а затем сразу его переименовываем в TestPowerShell:

New-Item HKCU:SoftwareTest2

Rename-Item HKCU:SoftwareTest2 TestPowerShell

Добавление параметров

Итак, мы научились создавать раздел, и теперь самое время узнать, как добавлять в раздел новые параметры. Давайте добавим в созданный нами раздел TestPowerShell строковый параметр CatName со значением Барсик .

New-ItemProperty HKCU:SoftwareTestPowerShell -Name CatName -PropertyType string -Value «Барсик»

На рис. 5.18 вы можете видеть результат выполнения команд и состояние реестра.

Рис. 5.18. Результат выполнения команд и реестр

Давайте усложним пример – добавим в наш раздел еще один параметр типа DWORD и выведем все значения параметров:

#-Добавляем еще один параметр – CatAge типа DWORD и значением 8

New ItemProperty -path HKCU:SoftwareTestPowerShell -name CatAge -propertyType DWord -value8

#-Получаем список всех параметров

Get-ItemProperty HKCU:SoftwareTestPowerShell

Переименование параметров, изменение значений

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

#-Изменим значение параметра CatAge на 7

Set-ItemProperty-HKCU:SoftwareTestPowerShell -name CatAge -value 7

#-Изменим название параметра CatAge на ВозрастКота

Rename-ItemProperty – path-HKCU:SoftwareTestPowerShell -name CatAge -newname-ВозрастКота

#-Удаляем CatName

Remove-ItemProperty HKCU:SoftwareTestPowerShell -name CatName

Название команд и комментарии помогут вам разобраться с примерами.

Данный текст является ознакомительным фрагментом.