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


about_Eventlogs

Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0

РАЗДЕЛ

about_EventLogs

КРАТКОЕ ОПИСАНИЕ

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.

Например, для просмотра событий в журнале, сгруппированных по коду события, введите:

  Get-EventLog "Windows PowerShell" | Format-Table -GroupBy EventID

Также можно ввести следующую команду:

  Get-EventLog "Windows PowerShell" | Sort-Object EventID `
            | Group-Object EventID

Чтобы просмотреть все классические журналы событий, введите:

  Get-EventLog -List

Также можно выполнить командлет Get-WmiObject, чтобы с помощью классов 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 регистрируют обычные события запуска и остановки. Переменные Health регистрируют события ошибки.

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

          Variable                     Description
          --------------------------   ----------------------------------------

  $LogEngineLifeCycleEvent     Logs starting and stopping of
                                       Windows PowerShell.

  $LogEngineHealthEvent        Logs Windows PowerShell program errors.

  $LogProviderLifeCycleEvent   Logs starting and stopping of 
                                       Windows PowerShell providers.

  $LogProviderHealthEvent      Logs Windows PowerShell provider errors.

  $LogCommandLifeCycleEvent    Logs starting and completion of commands.

  $LogCommandHealthEvent       Logs command errors.

(Чтобы получить сведения о поставщиках Windows PowerShell, введите: "Get-Help 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 (https://go.microsoft.com/fwlink/?LinkID=251696).

БЕЗОПАСНОСТЬ И АУДИТ

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

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

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

ПРИМЕЧАНИЯ

Авторы модулей могут добавить возможности ведения журнала в свои модули. Дополнительные сведения см. в разделе "Написание модуля Windows PowerShell" на портале MSDN по адресу: https://go.microsoft.com/fwlink/?LinkID=144916.

СМ. ТАКЖЕ

Get-EventLog

Get-WmiObject

about_Group_Policy_Settings

about_Preference_Variables