Register-CimIndicationEvent
Abonniert Indikatoren mithilfe eines Filterausdrucks oder eines Abfrageausdrucks.
Syntax
ClassNameComputerSet (Standard)
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>]
Beschreibung
Das cmdlet Register-CimIndicationEvent abonniert Indikationen mithilfe eines Anzeigeklassennamens oder eines Abfrageausdrucks. Verwenden Sie den SourceIdentifier Parameter, um dem Abonnement einen Namen zu geben.
Dieses Cmdlet gibt ein EventSubscription--Objekt zurück. Sie können dieses Objekt verwenden, um das Abonnement zu kündigen.
Beispiele
Beispiel 1: Registrieren der von einer Klasse generierten Ereignisse
Dieser Satz von Befehlen abonniert die Ereignisse, die von der Klasse mit dem Namen Win32_ProcessStartTrace generiert werden, die bei jedem Start eines Prozesses ein Ereignis auslöst, und ruft die Ereignisse mit dem ProcessStarted-Abonnement mithilfe des Cmdlets Get-Event ab. Weitere Informationen, siehe Get-Event.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"
Hinweis
In diesem Beispiel müssen Sie PowerShell als Administrator ausführen.
Beispiel 2: Registrieren der Ereignisse mithilfe einer Abfrage
Dieser Satz von Befehlen verwendet eine Abfrage, um ein Ereignis zu abonnieren, das immer dann generiert wird, wenn die Instanz einer Klasse mit dem Namen Win32_LocalTime geändert wird.
$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"
Beispiel 3: Ausführen eines Skripts, wenn das Ereignis eintrifft
Dieser Befehlssatz zeigt, wie eine Aktion als Reaktion auf ein Ereignis verwendet wird. Die Variable $action enthält den Skriptblock für Action, der die $event Variable verwendet, um auf das von CIM empfangene Ereignis zuzugreifen.
$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
Weitere Informationen finden Sie unter Win32_ProcessStartTrace.
Beispiel 4: Registrieren der Ereignisse auf einem Remotecomputer
Dieser Befehlssatz abonniert Ereignisse auf einem Remotecomputer mit dem Namen Server01. Vom CIM-Server empfangene Ereignisse werden in der Ereigniswarteschlange der aktuellen PowerShell-Sitzung gespeichert, die dann einen lokalen Befehl Get-Event ausführt, um die Ereignisse zu verarbeiten.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"
Parameter
-Action
Gibt die Befehle an, die die Ereignisse behandeln.
Die von diesem Parameter angegebenen Befehle werden ausgeführt, wenn ein Ereignis ausgelöst wird, anstatt das Ereignis an die Ereigniswarteschlange zu senden. Schließen Sie die Befehle in geschweifte Klammern ( { } ) ein, um einen Skriptblock zu erstellen.
Der mit Action angegebene Skriptblock kann die $Event, $EventSubscriber, $Sender, $SourceEventArgsund $SourceArgs automatischen Variablen enthalten, die Informationen zum Ereignis für den Action Skriptblock bereitstellen. Weitere Informationen finden Sie unter Über automatische Variablen.
Parametereigenschaften
| Typ: | ScriptBlock |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 1 |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-CimSession
Führt den Befehl mithilfe der angegebenen CIM-Sitzung aus. Geben Sie eine Variable ein, die die CIM-Sitzung enthält, oder einen Befehl, der die CIM-Sitzung erstellt oder abruft, z. B. die New-CimSession- oder Get-CimSession-Cmdlets. Weitere Informationen finden Sie unter [about_CimSessions].
Parametereigenschaften
| Typ: | CimSession |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ClassNameSessionSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
QueryExpressionSessionSet
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ClassName
Gibt die Indikationsklasse an, auf die Sie sich abonnieren. Sie können die Tab-Vervollständigung verwenden, um die Liste der Klassen zu durchsuchen, da PowerShell eine Liste von Klassen vom lokalen WMI-Server abruft, um eine Liste der Klassennamen bereitzustellen.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
ClassNameComputerSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
ClassNameSessionSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ComputerName
Gibt den Namen des Computers an, auf dem Der CIM-Vorgang ausgeführt werden soll. Sie können einen vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN), einen NetBIOS-Namen oder eine IP-Adresse angeben.
Wenn Sie diesen Parameter angeben, erstellt das Cmdlet mithilfe des WsMan-Protokolls eine temporäre Sitzung auf dem angegebenen Computer. Wenn Sie diesen Parameter nicht angeben, führt das Cmdlet einen Vorgang auf dem lokalen System mithilfe des Component Object Model (COM) aus.
Wenn mehrere Vorgänge auf demselben Computer ausgeführt werden, stellen Sie die Verbindung über eine CIM-Sitzung her, um eine bessere Leistung zu erzielen.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | China, Servername |
Parametersätze
ClassNameComputerSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
QueryExpressionComputerSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Forward
Gibt an, dass Ereignisse für das Abonnement an die Sitzung auf dem lokalen Computer weitergeleitet werden. Verwenden Sie diesen Parameter, wenn Sie sich für Ereignisse auf einem Remotecomputer oder in einer Remotesitzung registrieren.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-MaxTriggerCount
Parameter, der angibt, dass die Registrierung des Abonnenten automatisch aufgehoben werden soll, nachdem sie für bestimmte Zeiten ausgelöst wurde. Wenn der Wert gleich oder kleiner als Null ist, gibt es kein Limit für die Häufigkeit, mit der das Ereignis ausgelöst werden kann, ohne die Registrierung aufzuheben.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-MessageData
Gibt alle zusätzlichen Daten an, die diesem Ereignisabonnement zugeordnet werden sollen. Der Wert dieses Parameters wird in der MessageData--Eigenschaft aller Ereignisse angezeigt, die diesem Abonnement zugeordnet sind.
Parametereigenschaften
| Typ: | PSObject |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Namespace
Gibt den Namespace für den CIM-Vorgang an. Der Standardnamespace ist root/cimv2. Sie können die Registerkartenvervollständigung verwenden, um die Liste der Namespaces zu durchsuchen, da PowerShell eine Liste der Namespaces vom lokalen WMI-Server abruft, um die Liste der Namespaces bereitzustellen.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-OperationTimeoutSec
Gibt die Zeitspanne an, die das Cmdlet auf eine Antwort vom Computer wartet. Standardmäßig ist der Wert dieses Parameters 0, was bedeutet, dass das Cmdlet den Standardtimeoutwert für den Server verwendet.
Wenn der OperationTimeoutSec-Parameter auf einen Wert festgelegt ist, der kleiner als das robuste Verbindungswiederholungszeitlimit von 3 Minuten ist, können Netzwerkfehler, die länger als den Wert des OperationTimeoutSec-Parameters dauern, nicht wiederhergestellt werden, da der Vorgang auf dem Server überschritten wird, bevor der Client die Verbindung erneut herstellen kann.
Parametereigenschaften
| Typ: | UInt32 |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | OT |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Query
Gibt eine Abfrage an, die auf dem CIM-Server ausgeführt werden soll. Wenn der angegebene Wert doppelte Anführungszeichen ", einfache Anführungszeichen ' oder einen umgekehrten Schrägstrich \ enthält, müssen Sie diese Zeichen durch einen vorangestellten umgekehrten Schrägstrich ersetzen. Wenn der angegebene Wert den WQL LIKE-Operator verwendet, müssen Sie die folgenden Zeichen durch Einschließen in eckige Klammern [] vermeiden: Prozent %, Unterstrich _ oder öffnende eckige Klammer [.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
QueryExpressionSessionSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
QueryExpressionComputerSet
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-QueryDialect
Gibt die Abfragesprache an, die für den parameter Query verwendet wird. Die zulässigen Werte für diesen Parameter sind: WQL- oder CQL-. Der Standardwert ist WQL.
Parametereigenschaften
| Typ: | String |
| Standardwert: | WQL |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
QueryExpressionSessionSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
QueryExpressionComputerSet
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-SourceIdentifier
Gibt einen Namen für das Abonnement an. Der von Ihnen angegebene Name muss in der aktuellen Sitzung eindeutig sein. Der Standardwert ist eine GUID, die PowerShell zuweist. Dieser Wert erscheint im Wert der Eigenschaft SourceIdentifier des Abonnement-Objekts und aller Ereignis-Objekte, die mit diesem Abonnement verbunden sind.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 1 |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-SupportEvent
Gibt an, dass das Ereignisabonnement ausgeblendet ist. Verwenden Sie diesen Parameter, wenn das aktuelle Abonnement Teil eines komplexeren Ereignisregistrierungsmechanismus ist und nicht unabhängig ermittelt werden sollte.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
None
Dieses Cmdlet akzeptiert keine Eingabeobjekte.
Ausgaben
Object
Dieses Cmdlet gibt ein EventSubscription-Objekt aus.