Поделиться через


Сведения о журналах событий

Краткое описание

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) для проверки журнала событий. Например, чтобы просмотреть все свойства файла журнала событий, введите:

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), поставщики и команды. Переменные LifeCycleEvent регистрируют обычные события начала и остановки. События ошибок в журнале переменных работоспособности.

В следующей таблице перечислены переменные предпочтения журнала событий.

Переменная Описание
$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.

См. также:

Get-EventLog

Get-WmiObject

about_Group_Policy_Settings

about_Preference_Variables