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
Название команд и комментарии помогут вам разобраться с примерами.Данный текст является ознакомительным фрагментом.