Домашнее задание для ПО 1.11 по операционным системам от 26.04.21
учебно-методический материал

Склемин Алексей Анатольевич

Просмотр локального реестра Доступ к системному реестру на локальном компьютере в PowerShell осуществляется по аналогии с файловой системой путем обращения к соответствующим виртуальным дискам. Если посмотреть с помощью командлета Get-PSDrive список доступных дисков, то мы увидим, что корневому разделу (кусту) HKEY_CURRENT_USER соответствует диск HKCU, а корневому разделу (кусту) HKEY_LOCAL_MACHINE — диск HKLM: PS C:\> Get-PSDrive Name Provider Root Current Location ---- -------- ---- ---------------- A FileSystem A:\ Alias Alias C FileSystem C:\ cert Certificate \ E FileSystem E:\ Env Environment Function Function HKCU Registry HKEY_CURRENT_USER HKLM Registry HKEY_LOCAL_MACHINE Variable Variable Перейти на диск, соответствующий разделу реестра, можно с помощью командлета Set-Location (псевдоним cd): PS C:\> cd hklm: PS HKLM:\> Диски файловой системы содержат папки и файлы. Диски реестра содержат разделы, подразделы и параметры реестра. Выполним команду GetChildItem (псевдоним dir), находясь на диске реестра HKLM: PS HKLM:\> dir Hive: Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE 264 Часть II. Используем PowerShell SKC VC Name Property --- -- ---- -------- 4 0 HARDWARE {} 1 0 SAM {} Get-ChildItem : Requested registry access is not allowed. В строка:1 знак:3 + dir <<<< 43 1 SOFTWARE {(default)} 8 0 SYSTEM {} Как видим, на экран выводятся названия подразделов корневого раздела (колонка Name), значения параметров в этих подразделах (колонка Property), а также количество вложенных подразделов (колонка SKC) и количество параметров внутри разделов (колонка VC). Проверим теперь, показываются ли командлетом Get-ChildItem параметры реестра и их значения. Для этого перейдем в раздел HKEY_LOCAL_ MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, в котором обычно содержатся несколько параметров, определяющих приложения, которые запускаются автоматически при загрузке системы: PS HKLM:\> cd SOFTWARE\Microsoft\Windows\CurrentVersion\Run PS HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run> Выполним команду dir для просмотра дочерних элементов данного раздела: PS HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run> dir Hive: Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Run SKC VC Name Property --- -- ---- -------- 3 0 OptionalComponents {} Как видим, на экране отображается только вложенный подраздел OptionalComponents и отсутствует информация о параметрах, находящихся внутри раздела. Дело в том, что параметры реестра, в отличие от файлов, нельзя рассматривать в качестве дочерних элементов определенного контейнера, так как в этом случае невозможно обеспечить уникальность имен компонентов реестра (например, путь к разделу реестра с именем Run и путь к параметру реестра (Default) во вложенном разделе Run были бы одинаковыми). Поэтому параметры реестра и их значения не включаются в иерархию разделов и подразделов системного реестра (разделы реестра представлены экземплярами .NET-класса Microsoft.Win32.RegistryKey, Глава 13. Работа с системным реестром 265 а параметры реестра — экземплярами класса System.Management.Automation. PSCustomObject). Вместо этого они считаются свойствами родительских разделов реестра. Для просмотра параметров реестра нужно пользоваться не командой dir (командлет Get-ChildItem), а специальным командлетом Get-ItemProperty (мы уже применяли ранее этот командлет для получения сведений об объектах файловой системы). Выполним командлет Get-ItemProperty для текущего раздела реестра, путь к которому (значение параметра -Path) задается с помощью одной точки: PS HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run> Get-ItemProperty -Path . PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion\Run PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion PSChildName : Run PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry igfxtray : C:\WINDOWS\system32\igfxtray.exe igfxhkcmd : C:\WINDOWS\system32\hkcmd.exe igfxpers : C:\WINDOWS\system32\igfxpers.exe SoundMan : SOUNDMAN.EXE KAVWks50 : "C:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus 5.0 for Windows Workstations\kav.exe" /minimize /chkas (default) : IndexSearch : C:\Program Files\Scansoft\PaperPort\IndexSearch.exe OneTouch Monitor: "C:\Program Files\Xerox One Touch\OneTouchMon.exe" Как видим, в данном случае на экран выводятся стандартные свойства раздела реестра (PSPath, PSParentPath, PSChildName, PSDrive, PSProvider), а также названия и значения всех параметров системного реестра, находящихся внутри раздела SOFTWARE\Microsoft\Windows\CurrentVersion\Run. Параметр -Name командлета Get-ItemProperty позволяет задавать имена элементов, которые должны быть извлечены из реестра, при этом в именах можно использовать шаблонные символы. 

Скачать:

ВложениеРазмер
Plain text icon novyy_tekstovyy_dokument.txt214 байтов

По теме: методические разработки, презентации и конспекты

Домашнее задание для ПО 1.11 по операционные системы от 23.09.20

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

Домашнее задание для ПО 1.11 по операционные системы от 24.09.20

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

Домашнее задание для ПО 1.11 по операционным системам от 23.10.20

Домашнее задание на 23 октября.У нас сегодня итоговое занятие по 1 семестру, я еще раз высылаю вам вопросы к зачету. Как только, я определюсь со своим расписанием на следующую неделю я определю дату с...

Домашнее задание для ПО 1.11 по операционным системам 15.02.21

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

Домашнее задание для ПО 1.11 по операционным системам 17.02.21

Иногда вводимые команды могут разбиваться на несколько строк. В этих случаях перед каждой дополнительной строкой команды указываются символы....

Домашнее задание для ПО 1.11 по операционным системам 22.02.21

Отличие PowerShell от других оболочек — ориентация на объекты При разработке любого языка программирования одним из основных является вопрос о том, какие типы данных и каким образом будут в нем ...

Домашнее задание для ПО 1.11 по операционным системам 24.02.21

Вычисление выражений Кроме выполнения команд, в PowerShell можно вычислять выражения, то есть пользоваться оболочкой как калькулятором (в оболочке cmd.exe эта возможность отсутствовала). Например: PS ...