about_Eventlogs

Aggiornamento: maggio 2014

Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

ARGOMENTO

about_EventLogs

DESCRIZIONE BREVE

Windows PowerShell® crea un registro eventi di Windows denominato "Windows PowerShell" per registrare eventi di Windows PowerShell. È possibile visualizzare questo registro nel Visualizzatore eventi oppure usando i cmdlet che ottengono eventi, come ad esempio il cmdlet Get-EventLog. Per impostazione predefinita, il motore e gli eventi del provider di Windows PowerShell vengono registrati nel registro eventi, ma è possibile usare le variabili di preferenza del registro eventi per personalizzarlo. Ad esempio, è possibile aggiungere eventi sui comandi di Windows PowerShell.

DESCRIZIONE LUNGA

Il registro eventi di Windows PowerShell registra informazioni dettagliate sulle operazioni di Windows PowerShell, come ad esempio l'avvio e l'arresto del motore del programma e l'avvio e l'arresto dei provider di Windows PowerShell. È anche possibile registrare informazioni dettagliate sui comandi di Windows PowerShell.

Il registro eventi di Windows PowerShell è contenuto nel gruppo di registri di applicazioni e servizi. Il registro di Windows PowerShell è un registro eventi classico che non usa la tecnologia degli eventi Windows. Per visualizzare il registro, usare i cmdlet progettati per i registri eventi classici, come ad esempio Get-EventLog.

VISUALIZZAZIONE DEL REGISTRO EVENTI DI WINDOWS POWERSHELL

È possibile visualizzare il registro eventi di Windows PowerShell nel Visualizzatore eventi oppure usando i cmdlet Get-EventLog e Get-WmiObject. Per visualizzare il contenuto del registro di Windows PowerShell, digitare:

  Get-EventLog -LogName "Windows PowerShell"

Per esaminare gli eventi e le relative proprietà, usare i cmdlet Sort-Object, Group-Object e quelli che contengono il verbo Format (i cmdlet Format).

Per visualizzare, ad esempio, gli eventi nel registro raggruppato in base all'ID evento, digitare:

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

In alternativa, digitare:

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

Per visualizzare tutti i registri eventi classici, digitare:

  Get-EventLog -List

È anche possibile usare il cmdlet Get-WmiObject per usare le classi WMI correlate agli eventi allo scopo di esaminare il registro eventi. Per visualizzare, ad esempio, tutte le proprietà nel file del registro eventi, digitare:

  Get-WmiObject Win32_NTEventLogFile | where `
            {$_.LogFileName -eq "Windows PowerShell"} | Format-List -Property * 

Per trovare le classi WMI Win32 correlate agli eventi, digitare:

Get-WmiObject -List | where {$_.Name -like "win32*event*"}

Per altre informazioni, digitare "Get-Help Get-EventLog" e "Get-Help Get-WmiObject".

SELEZIONE DEGLI EVENTI PER IL REGISTRO EVENTI DI WINDOWS POWERSHELL

È possibile usare le variabili di preferenza del registro eventi per determinare quali eventi vengono registrati nel registro eventi di Windows PowerShell.

Esistono sei variabili di preferenza del registro eventi; due per ognuno dei tre componenti della registrazione: il motore (il programma di Windows PowerShell), i provider e i comandi. Le variabili LifeCycleEvent registrano il normale avvio e arresto degli eventi. Le variabili Health registrano gli eventi di errore.

La tabella seguente elenca le variabili di preferenza del registro eventi.

          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.

Per informazioni sui provider di Windows PowerShell, digitare: "Get-Help about_providers".

Per impostazione predefinita, sono abilitati solo i tipi di evento seguenti:

  $LogEngineLifeCycleEvent
  $LogEngineHealthEvent
  $LogProviderLifeCycleEvent
  $LogProviderHealthEvent

Per abilitare un tipo di evento, impostare la variabile di preferenza per quel tipo di evento su $true. Per abilitare, ad esempio, gli eventi del ciclo di vita del comando, digitare:

  $LogCommandLifeCycleEvent

In alternativa, digitare:

  $LogCommandLifeCycleEvent = $true

Per disabilitare un tipo di evento, impostare la variabile di preferenza per quel tipo di evento su $false. Per disabilitare, ad esempio, gli eventi del ciclo di vita del comando, digitare:

  $LogProviderLifeCycleEvent = $false

È possibile disabilitare tutti gli eventi, tranne quelli che indicano l'avvio del motore di Windows PowerShell e dei provider principali. Questi eventi vengono generati prima di eseguire i profili di Windows PowerShell e prima che il programma host sia pronto ad accettare comandi.

Le impostazioni delle variabili sono valide solo per la sessione di Windows PowerShell corrente. Perché siano valide per tutte le sessioni di Windows PowerShell, aggiungerle al proprio profilo di Windows PowerShell.

REGISTRAZIONE DI EVENTI DEI MODULI

A partire da Windows PowerShell 3.0, è possibile registrare gli eventi di esecuzione per i cmdlet e le funzioni dei moduli e degli snap-in di Windows PowerShell impostando la proprietà LogPipelineExecutionDetails di moduli e snap-in su TRUE. In Windows PowerShell 2.0 questa funzionalità è disponibile solo per gli snap-in.

Quando il valore della proprietà LogPipelineExecutionDetails è TRUE ($True), Windows PowerShell scrive gli eventi di esecuzione dei cmdlet e delle funzioni relativi alla sessione nel registro di Windows PowerShell in Visualizzatore eventi. L'impostazione è efficace solo nella sessione corrente.

Per abilitare la registrazione degli eventi di esecuzione dei cmdlet e delle funzioni di un modulo, usare la sequenza di comandi seguente.

        Import-Module <ModuleName>
        $m = Get-Module <ModuleName>
        $m.LogPipelineExecutionDetails = $True

Per abilitare la registrazione degli eventi di esecuzione dei cmdlet in uno snap-in, usare la sequenza di comandi seguente.

        $m = Get-PSSnapin <SnapInName> [-Registered]
        $m.LogPipelineExecutionDetails = $True

Per disabilitare la registrazione, usare la stessa sequenza di comandi per impostare il valore della proprietà su FALSE ($False).

È anche possibile usare l'impostazione di Criteri di gruppo "Attiva l'esecuzione di script" per abilitare e disabilitare la registrazione del modulo e dello snap-in. Il valore dei criteri include un elenco di nomi dei moduli e degli snap-in. I caratteri jolly sono supportati.

Quando "Attiva modulo registrazione" è impostato per un modulo, il valore della proprietà LogPipelineExecutionDetails del modulo è TRUE in tutte le sessioni e non può essere modificato.

L'impostazione di criteri del gruppo Attiva modulo registrazione si trova nei percorsi di Criteri di gruppo seguenti:

        Computer Configuration\Administrative Templates\Windows Components\Windows PowerShell
        User Configuration\Administrative Templates\Windows Components\Windows PowerShell

I criteri di Configurazione utente hanno la precedenza sui criteri di Configurazione computer ed entrambi i criteri hanno la preferenza sul valore della proprietà LogPipelineExecutionDetails di moduli e snap-in.

Per altre informazioni su questa impostazione di Criteri di gruppo, vedere about_Group_Policy_Settings (https://go.microsoft.com/fwlink/?LinkID=251696).

SICUREZZA E CONTROLLO

Il registro eventi di Windows PowerShell è progettato per indicare l'attività e fornire dettagli operativi per la risoluzione dei problemi.

Tuttavia, come la maggior parte dei registri eventi delle applicazioni basate su Windows, il registro eventi di Windows PowerShell non è progettato per garantire sicurezza. Non deve essere usato per controllare la sicurezza o per registrare informazioni riservate o proprietarie.

I registri eventi sono progettati per essere letti e compresi dagli utenti. Gli utenti possono leggere le informazioni e scrivere nel registro eventi. Un utente malintenzionato potrebbe leggere un registro eventi in un computer remoto o locale, registrare dati falsati e quindi impedire la registrazione delle proprie attività.

NOTE

Gli autori di moduli possono aggiungere la registrazione di funzionalità ai propri moduli. Per altre informazioni, vedere "Scrittura di un modulo di Windows PowerShell" in MSDN all'indirizzo https://go.microsoft.com/fwlink/?LinkID=144916.

VEDERE ANCHE

Get-EventLog

Get-WmiObject

about_Group_Policy_Settings

about_Preference_Variables