О журналах событий
Краткое описание
Windows PowerShell создает журнал событий Windows с именем "Windows PowerShell" для записи событий Windows PowerShell. Этот журнал можно просмотреть в Просмотр событий или с помощью командлетов, получающих события, например Get-EventLog
командлет. По умолчанию обработчики и события поставщика Windows PowerShell записываются в журнал событий, но можно использовать переменные предпочтений журнала событий для настройки журнала событий. Например, можно добавить события о командах Windows PowerShell.
Полное описание
В журнале событий Windows PowerShell записываются сведения об операциях Windows PowerShell, таких как запуск и остановка ядра программы, а также запуск и остановка поставщиков Windows PowerShell. Можно также заносить в журнал сведения о командах Windows PowerShell.
Журнал событий Windows PowerShell находится в группе Журналы приложений и служб. Журнал Windows PowerShell — это классический журнал событий, который не использует технологию событий Windows. Чтобы просмотреть журнал, используйте командлеты, предназначенные для классических журналов событий, например Get-EventLog
.
Просмотр журнала событий Windows PowerShell
Журнал событий Windows PowerShell можно просмотреть в Просмотр событий или с помощью Get-EventLog
Get-WmiObject
командлетов и. Чтобы просмотреть содержимое журнала Windows PowerShell, введите:
Get-EventLog -LogName "Windows PowerShell"
Чтобы проверить события и их свойства, используйте Sort-Object
командлет, Group-Object
командлет и командлеты, которые содержат Format
команду ( Format
командлеты).
Например, чтобы просмотреть события в журнале, сгруппированные по ИДЕНТИФИКАТОРу события, введите:
Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID
Или введите:
Get-EventLog "Windows PowerShell" |
Sort-Object EventID |
Group-Object EventID
Чтобы просмотреть все классические журналы событий, введите:
Get-EventLog -List
Кроме того, с помощью Get-WmiObject
командлета можно использовать классы инструментарий управления Windows (WMI) (WMI), связанные с событиями, для просмотра журнала событий. Например, чтобы просмотреть все свойства файла журнала событий, введите:
Get-WmiObject Win32_NTEventlogFile |
where LogFileName -EQ "Windows PowerShell" |
Format-List -Property *
Чтобы найти классы WMI, связанные с событиями Win32, введите:
Get-WmiObject -List | where Name -Like "win32*event*"
Для получения дополнительных сведений введите «Get-Help Get-EventLog» и «Get-Help Get-WmiObject».
Выбор событий для журнала событий Windows PowerShell
Можно использовать переменные предпочтений журнала событий, чтобы определить, какие события записываются в журнал событий Windows PowerShell.
Существует шесть переменных предпочтений журнала событий. две переменные для каждого из трех компонентов ведения журнала: ядро (программа Windows PowerShell), поставщики и команды. Переменные Лифецикливент зарегистрируют нормальные события запуска и остановки. Переменные работоспособности регистрируют события ошибок.
В следующей таблице перечислены переменные предпочтений журнала событий.
Переменная | Описание |
---|---|
$LogEngineLifeCycleEvent | Заносит в журнал начало и конец PowerShell |
$LogEngineHealthEvent | Журналы ошибок программы PowerShell |
$LogProviderLifeCycleEvent | Записывает в журнал начало и конец поставщиков PowerShell |
$LogProviderHealthEvent | Регистрирует ошибки поставщика PowerShell |
$LogCommandLifeCycleEvent | Записывает в журнал запуск и завершение команд |
$LogCommandHealthEvent | Регистрирует ошибки команды |
(Дополнительные сведения о поставщиках Windows PowerShell см. в разделе about_Providers.)
По умолчанию включены только следующие типы событий:
- $LogEngineLifeCycleEvent
- $LogEngineHealthEvent
- $LogProviderLifeCycleEvent
- $LogProviderHealthEvent
Чтобы включить тип событий, задайте для него переменную предпочтение $true. Например, чтобы включить события жизненного цикла команды, введите:
$LogCommandLifeCycleEvent
Или введите:
$LogCommandLifeCycleEvent = $true
Чтобы отключить тип события, задайте для него переменную предпочтение $false. Например, чтобы отключить события жизненного цикла команды, введите:
$LogProviderLifeCycleEvent = $false
Можно отключить любое событие, за исключением событий, указывающих на то, что ядро Windows PowerShell и основные поставщики запущены. Эти события создаются до запуска профилей Windows PowerShell и перед тем, как программа размещения готова принять команды.
Параметры переменных применяются только к текущему сеансу Windows PowerShell. Чтобы применить их ко всем сеансам Windows PowerShell, добавьте их в профиль Windows PowerShell.
События модуля ведения журнала
Начиная с Windows PowerShell 3,0, вы можете записывать события выполнения командлетов и функций в модулях и оснастках Windows PowerShell, установив для свойства LogPipelineExecutionDetails модулей и оснасток значение TRUE. В Windows PowerShell 2,0 эта функция доступна только для оснасток.
Если значение свойства LogPipelineExecutionDetails равно TRUE ( $true
), Windows PowerShell записывает события командлета и выполнения функции в сеансе в журнал Windows PowerShell в Просмотр событий. Параметр действует только в текущем сеансе.
Чтобы включить ведение журнала событий выполнения командлетов и функций в модуле, используйте следующую последовательность команд.
Import-Module <ModuleName>
$m = Get-Module <ModuleName>
$m.LogPipelineExecutionDetails = $true
Чтобы включить ведение журнала событий выполнения командлетов в оснастке, используйте следующую последовательность команд.
$m = Get-PSSnapin <SnapInName> [-Registered]
$m.LogPipelineExecutionDetails = $True
Чтобы отключить ведение журнала, используйте ту же последовательность команд, чтобы задать для свойства значение FALSE ( $false
).
Можно также использовать параметр групповая политика "включить ведение журнала модуля", чтобы включить и отключить ведение журнала модуля и оснастки. Значение политики включает список имен модулей и оснасток. Поддерживаются подстановочные знаки.
Если параметр "включить ведение журнала модуля" установлен для модуля, значение свойства LogPipelineExecutionDetails модуля равно TRUE во всех сеансах, и его нельзя изменить.
Параметр групповой политики включить ведение журнала модуля находится в следующих групповая политика путях:
Computer Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
User Configuration\
Administrative Templates\
Windows Components\
Windows PowerShell
Политика конфигурации пользователя имеет приоритет над политикой конфигурации компьютера, и обе политики имеют предпочтение по отношению к значению свойства LogPipelineExecutionDetails модулей и оснасток.
Дополнительные сведения об этом параметре групповая политика см. в разделе about_Group_Policy_Settings.
Безопасность и аудит
Журнал событий Windows PowerShell предназначен для указания активности и предоставления оперативных сведений для устранения неполадок.
Однако, подобно большинству журналов событий приложений на базе Windows, журнал событий Windows PowerShell не обеспечивает безопасность. Его не следует использовать для аудита безопасности или записи конфиденциальных или собственных сведений.
Журналы событий предназначены для чтения и понимания пользователями. Пользователи могут выполнять чтение и запись в журнал. Пользователь-злоумышленник может прочитать журнал событий на локальном или удаленном компьютере, записать ложные данные, а затем предотвратить ведение журнала действий.
Примечания
Авторы модулей могут добавлять функции ведения журнала в свои модули. Дополнительные сведения см. в разделе написание модуля Windows PowerShell в библиотеке MSDN.