Delen via


Register-CimIndicationEvent

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

Syntaxis

ClassNameComputerSet (Standaard)

Register-CimIndicationEvent
    [-ClassName] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

ClassNameSessionSet

Register-CimIndicationEvent
    [-ClassName] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    -CimSession <CimSession>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

QueryExpressionSessionSet

Register-CimIndicationEvent
    [-Query] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    -CimSession <CimSession>
    [-Namespace <String>]
    [-QueryDialect <String>]
    [-OperationTimeoutSec <UInt32>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

QueryExpressionComputerSet

Register-CimIndicationEvent
    [-Query] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    [-Namespace <String>]
    [-QueryDialect <String>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String>]
    [-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 aanduidingsklassenaam of een query-expressie. Gebruik de parameter SourceIdentifier geef een naam op voor het abonnement.

Met deze cmdlet wordt een EventSubscription--object geretourneerd. 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 worden de gebeurtenissen geabonneerd die zijn gegenereerd door de klasse met de naam Win32_ProcessStartTrace. Deze klasse genereert een gebeurtenis wanneer een proces wordt gestart.

$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
}
Register-CimIndicationEvent @event
Get-Event -SourceIdentifier "ProcessStarted"

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

Opmerking

In 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 Action, waarbij de $Event variabele wordt gebruikt voor toegang 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"
}
$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    Action = $action
}
Register-CimIndicationEvent @event

Zie Win32_ProcessStartTracevoor meer informatie.

Voorbeeld 4: De gebeurtenissen op een externe computer registreren

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

$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    ComputerName = 'Server01'
}
Register-CimIndicationEvent @event
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 Action kan de $Event, $EventSubscriber, $Sender, $SourceEventArgsen automatische variabelen $SourceArgs bevatten, die informatie bevatten over de gebeurtenis aan het scriptblok Action. Zie Over automatische variabelenvoor meer informatie.

Parametereigenschappen

Type:ScriptBlock
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-CimSession

Voert 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 of Get-CimSession cmdlets. Zie about_CimSessionvoor meer informatie.

Parametereigenschappen

Type:CimSession
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ClassNameSessionSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
QueryExpressionSessionSet
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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 klassennamen op te geven.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ClassNameComputerSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
ClassNameSessionSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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 een bewerking uit op het lokale systeem met 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.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:China, Servernaam

Parametersets

ClassNameComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
QueryExpressionComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-MaxTriggerCount

Parameter om aan te geven dat de abonnee automatisch ongedaan moet worden gemaakt nadat deze voor 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.

Parametereigenschappen

Type:Int32
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-MessageData

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

Parametereigenschappen

Type:PSObject
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-OperationTimeoutSec

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

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

Parametereigenschappen

Type:UInt32
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:OT

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Query

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

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

QueryExpressionSessionSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
QueryExpressionComputerSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-QueryDialect

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

Parametereigenschappen

Type:String
Default value:WQL
Ondersteunt jokertekens:False
DontShow:False

Parametersets

QueryExpressionSessionSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False
QueryExpressionComputerSet
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-SourceIdentifier

Hiermee geeft u een naam voor het abonnement op. 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 aan dit abonnement zijn gekoppeld.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:1
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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 deze niet onafhankelijk mag worden gedetecteerd.

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

Object

Met deze cmdlet wordt een EventSubscription--object geretourneerd.

Notities

PowerShell bevat de volgende aliassen voor Register-CimIndicationEvent:

  • Windows:
    • rcie

Deze cmdlet is alleen beschikbaar op Windows-platforms.