Register-CimIndicationEvent
Sottoscrive le indicazioni usando un'espressione di filtro o un'espressione di query.
Sintassi
Register-CimIndicationEvent
[-Namespace <String>]
[-ClassName] <String>
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-ClassName] <String>
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-Query] <String>
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-Query] <String>
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Descrizione
Il Register-CimIndicationEvent
cmdlet sottoscrive le indicazioni usando un nome di classe di indicazione o un'espressione di query. Usare il parametro SourceIdentifier per assegnare un nome alla sottoscrizione.
Questo cmdlet restituisce un oggetto EventSubscription . È possibile usare questo oggetto per annullare la sottoscrizione.
Esempio
Esempio 1: Registrare gli eventi generati da una classe
Questo esempio sottoscrive gli eventi generati dalla classe denominata Win32_ProcessStartTrace. Questa classe genera un evento ogni volta che viene avviato un processo.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"
Il Get-Event
cmdlet ottiene gli eventi con la sottoscrizione ProcessStarted . Per altre informazioni, vedere Get-Event.
Nota
Per questo esempio, è necessario eseguire PowerShell come amministratore.
Esempio 2: Registrare gli eventi usando una query
In questo esempio viene usata una query per sottoscrivere un evento generato ogni volta che viene apportata una modifica nell'istanza di una classe denominata Win32_LocalTime.
$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"
Esempio 3: Eseguire uno script all'arrivo dell'evento
Questo esempio illustra come usare un'azione in risposta a un evento. La variabile $action
contiene il blocco di script per Action, che usa la $event
variabile per accedere all'evento ricevuto da CIM.
$action = {
$name = $event.SourceEventArgs.NewEvent.ProcessName
$id = $event.SourceEventArgs.NewEvent.ProcessId
Write-Host -Object "New Process Started : Name = $name
ID = $id"
}
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -Action $action
Per altre informazioni, vedere Win32_ProcessStartTrace.
Esempio 4: Registrare gli eventi in un computer remoto
Questo esempio sottoscrive gli eventi in un computer remoto denominato Server01. Gli eventi ricevuti dal server CIM vengono archiviati nella coda di eventi nella sessione di PowerShell corrente e quindi esegue un'istanza locale Get-Event
per recuperare gli eventi.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"
Parametri
-Action
Specifica i comandi che gestiscono gli eventi. I comandi specificati da questo parametro vengono eseguiti quando viene generato un evento anziché inviare l'evento alla coda di eventi. Racchiudere i comandi tra parentesi graffe ({}
) per creare un blocco di script.
Il blocco di script specificato con Action può includere le $Event
variabili automatiche , $Sender
$SourceEventArgs
$EventSubscriber
, , e $SourceArgs
, che forniscono informazioni sull'evento al blocco script Azione. Per altre informazioni, vedere Informazioni sulle variabili automatiche.
Tipo: | ScriptBlock |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-CimSession
Esegue il comando usando la sessione CIM specificata. Immettere una variabile contenente la sessione CIM o un comando che crea o ottiene la sessione CIM, ad esempio i New-CimSession
cmdlet o Get-CimSession
. Per altre informazioni, vedere about_CimSession.
Tipo: | CimSession |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ClassName
Specifica la classe di indicazione a cui si sta sottoscrivendo. È possibile usare il completamento tramite tabulazione per esplorare l'elenco delle classi, perché PowerShell ottiene un elenco di classi dal server WMI locale per fornire un elenco di nomi di classi.
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ComputerName
Specifica il nome del computer in cui si desidera eseguire l'operazione CIM. È possibile specificare un nome di dominio completo (FQDN), un nome NetBIOS o un indirizzo IP.
Se si specifica questo parametro, il cmdlet crea una sessione temporanea nel computer specificato usando il protocollo WsMan. Se non si specifica questo parametro, il cmdlet esegue l'operazione nel sistema locale usando Component Object Model (COM).
Se vengono eseguite più operazioni nello stesso computer, connettersi usando una sessione CIM per ottenere prestazioni migliori.
Tipo: | String |
Alias: | CN, ServerName |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Forward
Indica che gli eventi per la sottoscrizione vengono inoltrati alla sessione nel computer locale. Usare questo parametro quando si esegue la registrazione per gli eventi in un computer remoto o in una sessione remota.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-MaxTriggerCount
Parametro per indicare che il sottoscrittore deve essere annullata automaticamente dopo l'attivazione per gli orari specificati. Se il valore è uguale o minore di zero, non esiste alcun limite per il numero di volte in cui l'evento può essere attivato senza essere annullata la registrazione.
Tipo: | Int32 |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-MessageData
Specifica eventuali dati aggiuntivi da associare a questa sottoscrizione di eventi. Il valore di questo parametro viene visualizzato nella proprietà MessageData di tutti gli eventi associati a questa sottoscrizione.
Tipo: | PSObject |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Namespace
Specifica lo spazio dei nomi per l'operazione CIM. Lo spazio dei nomi predefinito è root/cimv2. È possibile usare il completamento della scheda per esplorare l'elenco degli spazi dei nomi, perché PowerShell ottiene un elenco di spazi dei nomi dal server WMI locale per fornire l'elenco degli spazi dei nomi.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-OperationTimeoutSec
Specifica la quantità di tempo in cui il cmdlet attende una risposta dal computer. Per impostazione predefinita, il valore di questo parametro è 0, il che significa che il cmdlet usa il valore di timeout predefinito per il server.
Se il parametro OperationTimeoutSec è impostato su un valore inferiore al timeout di tentativo di connessione affidabile di 3 minuti, gli errori di rete che durano più del valore del parametro OperationTimeoutSec non sono recuperabili, perché l'operazione sul server scade prima che il client possa riconnettersi.
Tipo: | UInt32 |
Alias: | OT |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Query
Specifica una query da eseguire nel server CIM. Se il valore specificato contiene virgolette doppie , virgolette "
'
singole o una barra \
rovesciata , è necessario usare l'escape di tali caratteri anteponendo loro il carattere barra rovesciata. Se il valore specificato usa l'operatore WQL LIKE, è necessario eseguire l'escape dei caratteri seguenti racchiudendoli tra parentesi quadre []
: percentuale %
, sottolineatura _
o parentesi quadra [
aperta.
Tipo: | String |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-QueryDialect
Specifica il linguaggio di query utilizzato per il parametro Query . I valori accettabili per questo parametro sono: WQL o CQL. Il valore predefinito è WQL.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | WQL |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-SourceIdentifier
Specifica un nome per la sottoscrizione. Il nome specificato deve essere univoco nella sessione corrente. Il valore predefinito è un GUID assegnato da PowerShell. Questo valore viene visualizzato nel valore della proprietà SourceIdentifier dell'oggetto sottoscrittore e di tutti gli oggetti evento associati a questa sottoscrizione.
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-SupportEvent
Indica che la sottoscrizione di eventi è nascosta. Usare questo parametro quando la sottoscrizione corrente fa parte di un meccanismo di registrazione eventi più complesso e non deve essere individuata in modo indipendente.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
Questo cmdlet restituisce un oggetto EventSubscription .