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


about_Eventlogs

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

В этой статье описывается, как PowerShell регистрирует события в журнал событий Windows.

Подробное описание

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 можно просмотреть в Просмотр событий или с помощью Get-EventLogGet-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-EventLog и Get-WmiObject.

Выбор событий для журнала событий Windows PowerShell

Можно использовать переменные параметров журнала событий, чтобы определить, какие события записываются в журнале событий Windows PowerShell.

Существует шесть переменных предпочтения журнала событий; две переменные для каждого из трех компонентов ведения журнала: подсистема (программа Windows PowerShell), поставщики и команды. Журнал обычных событий запуска и остановки событий в журнале переменных LifeCycleEvent. События ошибок журнала переменных работоспособности.

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

«Переменная» Description
$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, Windows PowerShell записывает события командлета и выполнения функций в сеанс в журнал Windows PowerShell в Просмотр событий. Параметр действует только в текущем сеансе.

Чтобы включить ведение журнала событий выполнения командлетов и функций в модуле, используйте следующую последовательность команд.

Import-Module Microsoft.PowerShell.Archive
$m = Get-Module Microsoft.PowerShell.Archive
$m.LogPipelineExecutionDetails = $true

Чтобы включить ведение журнала событий выполнения командлетов в оснастке, используйте следующую последовательность команд.

$m = Get-PSSnapin Microsoft.PowerShell.Core
$m.LogPipelineExecutionDetails = $True

Чтобы отключить ведение журнала, используйте ту же последовательность команд, чтобы задать для свойства значение $false.

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

Если для модуля задано ведение журнала модулей, значение свойства LogPipelineExecutionDetails находится $true во всех сеансах и не может быть изменено.

Параметр групповой политики "Включить ведение журнала модулей" находится в следующих путях групповой политики:

Computer Configuration\
  Administrative Templates\
    Windows Components\
     Windows PowerShell

User Configuration\
  Administrative Templates\
    Windows Components\
      Windows PowerShell

Политика конфигурации пользователей имеет приоритет над политикой конфигурации компьютера, и обе политики принимают предпочтения по значению свойства LogPipelineExecutionDetails модулей и оснастки.

Дополнительные сведения об этом параметре групповой политики см. в about_Group_Policy_Параметры.

Безопасность и аудит

Журнал событий Windows PowerShell предназначен для указания действий и предоставления операционных сведений об устранении неполадок.

Однако, как и большинство журналов событий приложений под управлением Windows, журнал событий Windows PowerShell не предназначен для защиты. Он не должен использоваться для аудита безопасности или записи конфиденциальной или конфиденциальной информации.

Журналы событий предназначены для чтения и понимания пользователями. Пользователи могут считывать и записывать данные в журнал. Злоумышленник может прочитать журнал событий на локальном или удаленном компьютере, записать ложные данные, а затем предотвратить ведение журнала своих действий.

Примечания.

Авторы модулей могут добавлять функции ведения журнала в модули. Дополнительные сведения см. в статье "Написание модуля Windows PowerShell".

См. также