Получение всех подразделов раздела реестра — КиберПедия 

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Получение всех подразделов раздела реестра

2022-10-28 23
Получение всех подразделов раздела реестра 0.00 из 5.00 0 оценок
Заказать работу

Показать все элементы, непосредственно содержащиеся в разделе реестра, можно при помощи командлета Get-ChildItem. Добавьте необязательный параметр Force для отображения скрытых и системных элементов. Например, эта команда отображает элементы, непосредственно расположенные на диске HKCU: Windows PowerShell, который соответствует кусту HKEY_CURRENT_USER:

PS> Get-ChildItem -Path hkcu:\     Hive: Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER   SKC VC Name                      Property --- -- ----                      -------- 2 0 AppEvents                 {} 7 33 Console                   {ColorTable00, ColorTable01, ColorTab...  25 1 Control Panel             {Opened} 0 5 Environment               {APR_ICONV_PATH, INCLUDE, LIB, TEMP...} 1 7 Identities                {Last Username, Last User... 4 0 Keyboard Layout           {} ...

 

Это разделы верхнего уровня, которые можно видеть под разделом HKEY_CURRENT_USER в редакторе реестра (Regedit.exe).

Указать этот путь в реестре можно также, задав имя поставщика реестра с последующей строкой «::». Полное имя поставщика реестра выглядит как Microsoft.PowerShell.Core\Registry, но может быть сокращено до Registry. Любая из следующих команд выведет содержимое элементов, непосредственно расположенных под разделом HKCU:

Get-ChildItem -Path Registry::HKEY_CURRENT_USER Get-ChildItem -Path Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER Get-ChildItem -Path Registry::HKCU Get-ChildItem -Path Microsoft.PowerShell.Core\Registry::HKCU Get-ChildItem HKCU:

 

Эти команды выводят только элементы, содержащиеся под разделом непосредственно, так же как и команда DIR приложения Cmd.exe, а также команда ls оболочки UNIX. Для показа вложенных элементов необходимо указать параметр Recurse. Для вывода всех подразделов раздела HKCU используется следующая команда (эта операция может занять очень продолжительное время):

Get-ChildItem -Path hkcu:\ -Recurse

 

Командлет Get-ChildItem позволяет выполнять сложную фильтрацию при помощи параметров Path, Filter, Include и Exclude, но обычно осуществляется лишь фильтрация по имени. Сложную фильтрацию на основе других свойств элементов можно выполнить при помощи командлета Where-Object. Следующая команда находит все подразделы раздела HKCU:\Software, у которых не более одного подраздела и ровно четыре значения:

Get-ChildItem -Path HKCU:\Software -Recurse | Where-Object -FilterScript {($_.SubKeyCount -le 1) –and ($_.ValueCount -eq 4) }

 

Копирование разделов

Копирование выполняется при помощи командлета Copy-Item. Следующая команда копирует раздел HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion и все его свойства в раздел HKCU:\, создавая новый подраздел с именем «CurrentVersion»:

Copy-Item -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion' -Destination hkcu:

 

Если рассмотреть этот новый раздел в редакторе реестра или при помощи командлета Get-ChildItem, видно, что в новом положении отсутствуют копии подразделов содержавшихся в исходном разделе. Чтобы копировать все содержимое контейнера, необходимо указать параметр Recurse. Копирование в предыдущем примере можно сделать рекурсивным, если использовать следующую команду:

Copy-Item -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion' -Destination hkcu: -Recurse

 

Можно использовать и другие доступные средства для копирования файловой системы. В оболочке Windows PowerShell можно по-прежнему использовать любые средства для редактирования реестра (в том числе reg.exe, regini.exe и regedit.exe), а также COM-объекты, поддерживающие редактирование реестра (такие как WScript.Shell и WMI-класс StdRegProv).

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

Создание новых разделов в реестре проще, чем создание нового элемента в файловой системе. Поскольку все разделы реестра являются контейнерами, нет необходимости указывать тип элемента. Достаточно указать точный путь, например:

New-Item -Path hkcu:\software\_DeleteMe

 

Для указания раздела можно также использовать путь на основе имени поставщика:

New-Item -Path Registry::HKCU\_DeleteMe

 

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

Удаление элементов в принципе осуществляется одинаково для всех поставщиков. Следующие команды удалят элементы, не выводя никаких сообщений:

Remove-Item -Path hkcu:\Software\_DeleteMe Remove-Item -Path 'hkcu:\key with spaces in the name'

 


Поделиться с друзьями:

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.