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
Questo cmdlet è disponibile solo nella piattaforma Windows.
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 Amministrazione istrator.
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.
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | CimSession |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | WQL |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
Questo cmdlet restituisce un oggetto EventSubscription .
Note
PowerShell include gli alias seguenti per Register-CimIndicationEvent
:
- Windows:
rcie
Questo cmdlet è disponibile solo nelle piattaforme Windows.
Collegamenti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per