Delen via


Register-CimIndicationEvent

Abonneert u op indicaties met behulp van een filterexpressie of een query-expressie.

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

Deze cmdlet is alleen beschikbaar op het Windows-platform.

De Register-CimIndicationEvent cmdlet abonneert zich op indicaties met behulp van een indicatieklassenaam of een query-expressie. Gebruik de parameter SourceIdentifier om het abonnement een naam te geven.

Deze cmdlet retourneert een EventSubscription-object . U kunt dit object gebruiken om het abonnement te annuleren.

Voorbeelden

Voorbeeld 1: De gebeurtenissen registreren die zijn gegenereerd door een klasse

In dit voorbeeld wordt u geabonneerd op de gebeurtenissen die worden gegenereerd door de klasse met de naam Win32_ProcessStartTrace. Deze klasse genereert een gebeurtenis wanneer een proces wordt gestart.

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

De Get-Event cmdlet haalt de gebeurtenissen op met het abonnement ProcessStarted . Zie Get-Event voor meer informatie.

Notitie

Voor dit voorbeeld moet u PowerShell uitvoeren als beheerder.

Voorbeeld 2: De gebeurtenissen registreren met behulp van een query

In dit voorbeeld wordt een query gebruikt om u te abonneren op een gebeurtenis die wordt gegenereerd wanneer er een wijziging is in het exemplaar van een klasse met de naam Win32_LocalTime.

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

Voorbeeld 3: Een script uitvoeren wanneer de gebeurtenis binnenkomt

In dit voorbeeld ziet u hoe u een actie gebruikt als reactie op een gebeurtenis. De variabele $action bevat het scriptblok voor Actie, dat de $event variabele gebruikt om toegang te krijgen tot de gebeurtenis die is ontvangen van 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

Zie Win32_ProcessStartTrace voor meer informatie.

Voorbeeld 4: De gebeurtenissen op een externe computer registreren

In dit voorbeeld wordt u geabonneerd op gebeurtenissen op een externe computer met de naam Server01. Gebeurtenissen die van de CIM-server worden ontvangen, worden opgeslagen in de gebeurteniswachtrij in de huidige PowerShell-sessie en worden vervolgens een lokale Get-Event uitgevoerd om de gebeurtenissen op te halen.

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

Parameters

-Action

Hiermee geeft u de opdrachten die de gebeurtenissen verwerken. De opdrachten die door deze parameter worden opgegeven, worden uitgevoerd wanneer een gebeurtenis wordt gegenereerd, in plaats van de gebeurtenis naar de gebeurteniswachtrij te verzenden. Plaats de opdrachten tussen accolades ({}) om een scriptblok te maken.

Het scriptblok dat is opgegeven met Actie kan de $Eventautomatische variabelen , $EventSubscriber, $Sender$SourceEventArgs, en $SourceArgs bevatten, die informatie over de gebeurtenis bieden aan het scriptblok Actie. Zie Over automatische variabelen voor meer informatie.

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

-CimSession

Hiermee voert u de opdracht uit met behulp van de opgegeven CIM-sessie. Voer een variabele in die de CIM-sessie bevat of een opdracht waarmee de CIM-sessie wordt gemaakt of ophaalt, zoals de New-CimSession cmdlets of Get-CimSession . Zie about_CimSession voor meer informatie.

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

-ClassName

Hiermee geeft u de indicatieklasse op waarop u zich abonneert. U kunt tabvoltooiing gebruiken om door de lijst met klassen te bladeren, omdat PowerShell een lijst met klassen ophaalt van de lokale WMI-server om een lijst met klassenamen op te geven.

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

-ComputerName

Hiermee geeft u de naam van de computer waarop u de CIM-bewerking wilt uitvoeren. U kunt een FQDN (Fully Qualified Domain Name), een NetBIOS-naam of een IP-adres opgeven.

Als u deze parameter opgeeft, maakt de cmdlet een tijdelijke sessie naar de opgegeven computer met behulp van het WsMan-protocol. Als u deze parameter niet opgeeft, voert de cmdlet de bewerking uit op het lokale systeem met behulp van Com (Component Object Model).

Als er meerdere bewerkingen op dezelfde computer worden uitgevoerd, maakt u verbinding met behulp van een CIM-sessie voor betere prestaties.

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

-Forward

Geeft aan dat gebeurtenissen voor het abonnement worden doorgestuurd naar de sessie op de lokale computer. Gebruik deze parameter wanneer u zich registreert voor gebeurtenissen op een externe computer of in een externe sessie.

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

-MaxTriggerCount

Parameter om aan te geven dat de registratie van de abonnee automatisch ongedaan moet worden gemaakt nadat deze gedurende opgegeven tijden is geactiveerd. Als de waarde gelijk is aan of kleiner is dan nul, is er geen limiet voor het aantal keren dat de gebeurtenis kan worden geactiveerd zonder de registratie ongedaan te maken.

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

-MessageData

Hiermee geeft u aanvullende gegevens aan die aan dit gebeurtenisabonnement moeten worden gekoppeld. De waarde van deze parameter wordt weergegeven in de eigenschap MessageData van alle gebeurtenissen die aan dit abonnement zijn gekoppeld.

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

-Namespace

Hiermee geeft u de naamruimte voor de CIM-bewerking. De standaardnaamruimte is root/cimv2. U kunt tabvoltooiing gebruiken om door de lijst met naamruimten te bladeren, omdat PowerShell een lijst met naamruimten ophaalt van de lokale WMI-server om de lijst met naamruimten op te geven.

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

-OperationTimeoutSec

Hiermee geeft u de hoeveelheid tijd die de cmdlet wacht op een antwoord van de computer. Standaard is de waarde van deze parameter 0, wat betekent dat de cmdlet de standaard time-outwaarde voor de server gebruikt.

Als de parameter OperationTimeoutSec is ingesteld op een waarde die kleiner is dan de robuuste time-out voor het opnieuw proberen van de verbinding van 3 minuten, kunnen netwerkfouten die langer duren dan de waarde van de parameter OperationTimeoutSec niet worden hersteld, omdat er een time-out optreedt voor de bewerking op de server voordat de client opnieuw verbinding kan maken.

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

-Query

Hiermee geeft u een query op die moet worden uitgevoerd op de CIM-server. Als de opgegeven waarde dubbele aanhalingstekens ", enkele aanhalingstekens 'of een backslash \bevat, moet u deze tekens laten ontsnappen door ze te voorzien van het backslash-teken. Als de opgegeven waarde gebruikmaakt van de operator WQL LIKE, moet u de volgende tekens laten ontsnappen door deze tussen vierkante haken []te zetten: percentage %, onderstrepingsteken _of vierkante haak openen [.

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

-QueryDialect

Hiermee geeft u de querytaal op die wordt gebruikt voor de queryparameter . De acceptabele waarden voor deze parameter zijn: WQL of CQL. De standaardwaarde is WQL.

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

-SourceIdentifier

Hiermee geeft u een naam voor het abonnement. De naam die u opgeeft, moet uniek zijn in de huidige sessie. De standaardwaarde is een GUID die door PowerShell wordt toegewezen. Deze waarde wordt weergegeven in de waarde van de eigenschap SourceIdentifier van het abonneeobject en van alle gebeurtenisobjecten die zijn gekoppeld aan dit abonnement.

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

-SupportEvent

Geeft aan dat het gebeurtenisabonnement verborgen is. Gebruik deze parameter wanneer het huidige abonnement deel uitmaakt van een complexer mechanisme voor gebeurtenisregistratie en het niet onafhankelijk mag worden gedetecteerd.

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

Invoerwaarden

None

U kunt geen objecten doorsnijden naar deze cmdlet.

Uitvoerwaarden

Object

Deze cmdlet retourneert een EventSubscription-object .

Notities

PowerShell bevat de volgende aliassen voor Register-CimIndicationEvent:

  • Windows:
    • rcie

Deze cmdlet is alleen beschikbaar op Windows-platforms.