Register-CimIndicationEvent

Prenumererar på indikationer med ett filteruttryck eller ett frågeuttryck.

Syntax

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>]

Description

Den här cmdleten är endast tillgänglig på Windows-plattformen.

Cmdleten Register-CimIndicationEvent prenumererar på indikationer med hjälp av ett indikeringsklassnamn eller ett frågeuttryck. Använd parametern SourceIdentifier och ge prenumerationen ett namn.

Den här cmdleten returnerar ett EventSubscription-objekt . Du kan använda det här objektet för att avbryta prenumerationen.

Exempel

Exempel 1: Registrera de händelser som genereras av en klass

Det här exemplet prenumererar på de händelser som genereras av klassen med namnet Win32_ProcessStartTrace. Den här klassen genererar en händelse när en process startar.

Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"

Cmdleten Get-Event hämtar händelserna med En ProcessStarted-prenumeration . Mer information finns i Get-Event.

Kommentar

I det här exemplet måste du köra PowerShell som administratör.

Exempel 2: Registrera händelserna med hjälp av en fråga

I det här exemplet används en fråga för att prenumerera på en händelse som genereras när det sker en ändring i instansen av en klass med namnet Win32_LocalTime.

$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"

Exempel 3: Kör ett skript när händelsen kommer

Det här exemplet visar hur du använder en åtgärd som svar på en händelse. Variabeln $action innehåller skriptblocket för Åtgärd, som använder variabeln $event för att komma åt händelsen som tas emot från 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

Mer information finns i Win32_ProcessStartTrace.

Exempel 4: Registrera händelserna på en fjärrdator

Det här exemplet prenumererar på händelser på en fjärrdator med namnet Server01. Händelser som tas emot från CIM-servern lagras i händelsekön i den aktuella PowerShell-sessionen och kör sedan en lokal Get-Event för att hämta händelserna.

Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"

Parametrar

-Action

Anger de kommandon som hanterar händelserna. Kommandona som anges av den här parametern körs när en händelse aktiveras, i stället för att skicka händelsen till händelsekön. Omslut kommandona i klammerparenteser ({}) för att skapa ett skriptblock.

Skriptblocket som anges med Åtgärd kan innehålla variablerna $Event, $EventSubscriber, $Sender, $SourceEventArgsoch $SourceArgs automatisk, som ger information om händelsen till åtgärdsskriptblocket. Mer information finns i Om automatiska variabler.

Type:ScriptBlock
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CimSession

Kör kommandot med den angivna CIM-sessionen. Ange en variabel som innehåller CIM-sessionen eller ett kommando som skapar eller hämtar CIM-sessionen, till exempel New-CimSession cmdletarna eller Get-CimSession . Mer information finns i about_CimSession.

Type:CimSession
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ClassName

Anger den indikeringsklass som du prenumererar på. Du kan använda tabbavslut för att bläddra i listan över klasser, eftersom PowerShell hämtar en lista över klasser från den lokala WMI-servern för att tillhandahålla en lista med klassnamn.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Anger namnet på den dator där du vill köra CIM-åtgärden. Du kan ange ett fullständigt domännamn (FQDN), ett NetBIOS-namn eller en IP-adress.

Om du anger den här parametern skapar cmdleten en tillfällig session till den angivna datorn med hjälp av WsMan-protokollet. Om du inte anger den här parametern utför cmdleten åtgärden på det lokala systemet med hjälp av Komponentobjektmodell (COM).

Om flera åtgärder utförs på samma dator ansluter du med en CIM-session för bättre prestanda.

Type:String
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Forward

Anger att händelser för prenumerationen vidarebefordras till sessionen på den lokala datorn. Använd den här parametern när du registrerar dig för händelser på en fjärrdator eller i en fjärrsession.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxTriggerCount

Parameter som anger att prenumeranten ska avregistreras automatiskt efter att ha utlösts för angivna tider. Om värdet är lika med eller mindre än noll finns det ingen gräns för hur många gånger händelsen kan utlösas utan att avregistreras.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MessageData

Anger eventuella ytterligare data som ska associeras med den här händelseprenumerationen. Värdet för den här parametern visas i egenskapen MessageData för alla händelser som är associerade med den här prenumerationen.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

Anger namnområdet för CIM-åtgärden. Standardnamnområdet är root/cimv2. Du kan använda tabbavslut för att bläddra i listan över namnområden, eftersom PowerShell hämtar en lista över namnområden från den lokala WMI-servern för att tillhandahålla listan över namnområden.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OperationTimeoutSec

Anger hur lång tid cmdleten väntar på ett svar från datorn. Som standard är värdet för den här parametern 0, vilket innebär att cmdleten använder standardvärdet för timeout för servern.

Om parametern OperationTimeoutSec är inställd på ett värde som är mindre än den robusta tidsgränsen för återförsök av anslutningen på 3 minuter kan nätverksfel som varar mer än värdet för parametern OperationTimeoutSec inte återställas, eftersom åtgärden på servern överskrider tidsgränsen innan klienten kan återansluta.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Query

Anger en fråga som ska köras på CIM-servern. Om det angivna värdet innehåller dubbla citattecken ", enkla citattecken 'eller ett omvänt snedstreck \måste du undvika dessa tecken genom att prefixa dem med tecknet för omvänt snedstreck. Om det angivna värdet använder WQL LIKE-operatorn måste du undvika följande tecken genom att omsluta dem inom hakparenteser: procent , understreck _eller inledande hakparentes.[][%

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-QueryDialect

Anger det frågespråk som används för frågeparametern. De godtagbara värdena för den här parametern är: WQL eller CQL. Standardvärdet är WQL.

Type:String
Position:Named
Default value:WQL
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceIdentifier

Anger ett namn för prenumerationen. Namnet som du anger måste vara unikt i den aktuella sessionen. Standardvärdet är ett GUID som PowerShell tilldelar. Det här värdet visas i värdet för egenskapen SourceIdentifier för prenumerantobjektet och för alla händelseobjekt som är associerade med den här prenumerationen.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SupportEvent

Anger att händelseprenumerationen är dold. Använd den här parametern när den aktuella prenumerationen ingår i en mer komplex mekanism för händelseregistrering och den inte bör identifieras oberoende av varandra.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

Object

Den här cmdleten returnerar ett EventSubscription-objekt .

Kommentarer

PowerShell innehåller följande alias för Register-CimIndicationEvent:

  • Windows:
    • rcie

Den här cmdleten är endast tillgänglig på Windows-plattformar.