each мы используем проверку if для того, чтобы узнать, соответствуют ли текущая запись реестра и ее свойство pspath, которые мы получаем через обращение к команде get-itemproperty (через алиас gp), нашему критерию — наличию строки 'PowerShell'. Если соответствие найдено, мы возвращаем значение свойства pspath. Все найденные соответствия сохраняются в объекте s.
Работу с реестром мы завершаем перенаправлением результатов поиска в команду select-object (через алиас select) и показываем два первых найденных результата:
PSHKCU:\>$s|select-first2 В качестве упражнения перенаправьте финальные результаты в файл с помощью команды out-file.
5. Доступ к системному журналу
Для обнаружения причин сбоев мы часто обращаемся к системному журналу, в котором хранится множество полезной информации о событиях, происходивших в системе. Обычно для исследования системного журнала применяется
утилита Event Viewer (eventvwr.exe). В PowerShell мы можем воспользоваться встроенными командами, например командой get-eventlog, для быстрого исследования содержимого системного журнала. Для примера выведем 5 информативных сообщений в журнале System.
Но для начала, давайте убедимся, что такой журнал существует, введя команду:
PSC:\>get-eventlog-list Эта команда загружает ключевую информацию из системного журнала. Без использования опции -listPowerShell запросит точное указание названия системного журнала. В нашем примере мы видим несколько точек входа в системном
журнале: Application,InternetExplorer,System,WindowsPowerShell и т.п.
Извлечем записи из системного журнала, которые имеют тип