Partager via


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 $Eventvariables 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

Object

Cette applet de commande génère un objet EventSubscription .