%, которая является алиасом
команды
for-each . Она выполняет рекурсивный обход всех
элементов реестра, находящихся в объекте reg и на каждом шаге
сохраняет элемент в специальном объекте
PowerShell с именем '_'. В
фигурных скобках мы указываем действия, которые должны выполняться
на каждом шаге выполнения команды
for-each . Внутри блока
for- each мы используем проверку
if для того, чтобы узнать, соответствуют ли
текущая запись реестра и ее свойство
pspath , которые мы получаем через
обращение к команде
get-itemproperty (через алиас
gp ), нашему
критерию — наличию строки
'PowerShell' . Если соответствие найдено,
мы возвращаем значение свойства
pspath . Все найденные
соответствия сохраняются в объекте
s .
d. Работу с реестром мы завершаем перенаправлением
результатов поиска в команду
select-object (через алиас
select ) и
показываем два первых найденных результата:
PS HKCU:\>$s | select -first 2 e. В качестве упражнения перенаправьте финальные
результаты в файл с помощью команды
out-file .
5. Доступ к
системному
журналу
Для обнаружения причин сбоев мы часто обращаемся к
системному журналу, в котором хранится множество полезной
информации о событиях, происходивших в системе. Обычно для
исследования системного журнала применяется
утилита
Event Viewer (eventvwr.exe). В
PowerShell мы можем
воспользоваться встроенными командами, например командой
get- eventlog , для быстрого исследования содержимого системного журнала.
Для примера выведем 5 информативных сообщений в журнале