Register-CimIndicationEvent
S’abonne aux indications à l’aide d’une expression de filtre ou d’une expression de requête.
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
Cette applet de commande est disponible uniquement sur la plateforme Windows.
L’applet Register-CimIndicationEvent
de commande s’abonne aux indications à l’aide d’un nom de classe d’indication ou d’une expression de requête. Utilisez le paramètre SourceIdentifier pour donner un nom à l’abonnement.
Cette applet de commande retourne un objet EventSubscription . Vous pouvez utiliser cet objet pour annuler l’abonnement.
Exemples
Exemple 1 : Inscrire les événements générés par une classe
Cet exemple s’abonne aux événements générés par la classe nommée Win32_ProcessStartTrace. Cette classe déclenche un événement à chaque démarrage d'un processus.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"
L’applet Get-Event
de commande obtient les événements avec l’abonnement ProcessStarted . Pour plus d’informations, consultez Get-Event.
Notes
Pour cet exemple, vous devez exécuter PowerShell en tant qu’administrateur.
Exemple 2 : Inscrire les événements à l’aide d’une requête
Cet exemple utilise une requête pour s’abonner à un événement généré chaque fois qu’il y a une modification dans le instance d’une classe nommée Win32_LocalTime.
$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"
Exemple 3 : Exécuter un script lorsque l’événement arrive
Cet exemple montre comment utiliser une action en réponse à un événement. La variable $action
contient le bloc de script pour Action, qui utilise la $event
variable pour accéder à l’événement reçu de 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
Pour plus d’informations, consultez Win32_ProcessStartTrace.
Exemple 4 : Inscrire les événements sur un ordinateur distant
Cet exemple s’abonne aux événements sur un ordinateur distant nommé Server01. Les événements reçus du serveur CIM sont stockés dans la file d’attente d’événements de la session PowerShell actuelle, puis exécutent un local Get-Event
pour récupérer les événements.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"
Paramètres
-Action
Spécifie les commandes qui gèrent les événements. Les commandes spécifiées par ce paramètre s’exécutent lorsqu’un événement est déclenché, au lieu d’envoyer l’événement à la file d’attente d’événements. Enfermez les commandes dans des accolades ({}
) pour créer un bloc de script.
Le bloc de script spécifié avec Action peut inclure les $Event
variables automatiques , $EventSubscriber
, $Sender
$SourceEventArgs
, et $SourceArgs
qui fournissent des informations sur l’événement au bloc de script Action. Pour plus d’informations, consultez À propos des variables automatiques.
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CimSession
Exécute la commande à l’aide de la session CIM spécifiée. Entrez une variable qui contient la session CIM, ou une commande qui crée ou obtient la session CIM, comme les applets de New-CimSession
commande ou Get-CimSession
. Pour plus d’informations, consultez about_CimSession.
Type: | CimSession |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClassName
Spécifie la classe d’indication à laquelle vous vous abonnez. Vous pouvez utiliser la saisie semi-automatique d’onglet pour parcourir la liste des classes, car PowerShell obtient une liste de classes à partir du serveur WMI local pour fournir une liste de noms de classes.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Spécifie le nom de l’ordinateur sur lequel vous souhaitez exécuter l’opération CIM. Vous pouvez spécifier un nom de domaine complet (FQDN), un nom NetBIOS ou une adresse IP.
Si vous spécifiez ce paramètre, l’applet de commande crée une session temporaire sur l’ordinateur spécifié à l’aide du protocole WsMan. Si vous ne spécifiez pas ce paramètre, l’applet de commande effectue l’opération sur le système local à l’aide du modèle d’objet de composant (COM).
Si plusieurs opérations sont effectuées sur le même ordinateur, connectez-vous à l’aide d’une session CIM pour de meilleures performances.
Type: | String |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Forward
Indique que les événements de l’abonnement sont transférés à la session sur l’ordinateur local. Utilisez ce paramètre lorsque vous vous inscrivez aux événements sur un ordinateur distant ou dans une session à distance.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxTriggerCount
Paramètre pour indiquer que l’abonné doit être automatiquement désinscrit après avoir été déclenché pour les heures spécifiées. Si la valeur est égale ou inférieure à zéro, il n’existe aucune limite quant au nombre de fois où l’événement peut être déclenché sans être désinscrit.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MessageData
Spécifie toutes les données supplémentaires à associer à cet abonnement aux événements. La valeur de ce paramètre s’affiche dans la propriété MessageData de tous les événements associés à cet abonnement.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Namespace
Spécifie l’espace de noms pour l’opération CIM. L’espace de noms par défaut est root/cimv2. Vous pouvez utiliser la saisie semi-automatique d’onglet pour parcourir la liste des espaces de noms, car PowerShell obtient une liste d’espaces de noms à partir du serveur WMI local pour fournir la liste des espaces de noms.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OperationTimeoutSec
Spécifie la durée pendant laquelle l’applet de commande attend une réponse de l’ordinateur. Par défaut, la valeur de ce paramètre est 0, ce qui signifie que l’applet de commande utilise la valeur de délai d’expiration par défaut pour le serveur.
Si le paramètre OperationTimeoutSec est défini sur une valeur inférieure au délai d’expiration des nouvelles tentatives de connexion robuste de 3 minutes, les défaillances réseau qui durent plus que la valeur du paramètre OperationTimeoutSec ne sont pas récupérables, car l’opération sur le serveur expire avant que le client puisse se reconnecter.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Query
Spécifie une requête à exécuter sur le serveur CIM. Si la valeur spécifiée contient des guillemets "
doubles, des guillemets '
simples ou une barre oblique inverse \
, vous devez placer ces caractères dans une séquence d’échappement en les préfixant avec le caractère barre oblique inverse. Si la valeur spécifiée utilise l’opérateur WQL LIKE, vous devez échapper aux caractères suivants en les plaçant entre crochets []
: pourcentage %
, trait de soulignement _
ou crochet [
ouvrant .
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-QueryDialect
Spécifie le langage de requête utilisé pour le paramètre Query . Les valeurs acceptables pour ce paramètre sont : WQL ou CQL. La valeur par défaut est WQL.
Type: | String |
Position: | Named |
Default value: | WQL |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SourceIdentifier
Spécifie un nom pour l’abonnement. Le nom que vous spécifiez doit être unique dans la session active. La valeur par défaut est un GUID attribué par PowerShell. Cette valeur apparaît dans la valeur de la propriété SourceIdentifier de l’objet abonné et de tous les objets d’événements associés à cet abonnement.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SupportEvent
Indique que l’abonnement aux événements est masqué. Utilisez ce paramètre lorsque l'abonnement actuel fait partie d'un mécanisme d'inscription d'événement plus complexe et qu'il ne doit pas être découvert indépendamment.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
None
Cette applet de commande n’accepte aucun objet d’entrée.
Sorties
Cette applet de commande génère un objet EventSubscription .