Partager via


Register-CimIndicationEvent

S’abonne aux indications à l’aide d’une expression de filtre ou d’une expression de requête.

Syntaxe

ClassNameComputerSet (Par défaut)

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

Cette applet de commande est disponible uniquement sur la plateforme Windows.

La cmdlet Register-CimIndicationEvent 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 donnez 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 fois qu’un processus démarre.

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

La cmdlet Get-Event obtient les événements avec l'abonnement ProcessStarted. Pour plus d'informations, voir Get-Event.

Remarque

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 existe une modification dans l’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 variable $Event 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"
}
$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    Action = $action
}
Register-CimIndicationEvent @event

Pour plus d’informations, consultez Win32_ProcessStartTrace.

Exemple 4 : Inscrire les événements sur un ordinateur distant

Cet exemple s'abonne aux événements d'un ordinateur distant nommé Server01. Les événements reçus du serveur CIM sont stockés dans la file d’attente d’événements dans la session PowerShell actuelle, puis exécutent une Get-Event locale pour récupérer les événements.

$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    ComputerName = 'Server01'
}
Register-CimIndicationEvent @event
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. Mettez les commandes entre accolades ({}) pour créer un bloc de script.

Le bloc de script spécifié avec Action peut inclure les $Event, $EventSubscriber, $Sender, $SourceEventArgset $SourceArgs variables automatiques, qui fournissent des informations sur l’événement au bloc de script Action. Pour plus d’informations, consultez À propos des variables automatiques.

Propriétés du paramètre

Type:ScriptBlock
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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, telle que les applets de commande New-CimSession ou Get-CimSession. Pour plus d’informations, consultez about_CimSession.

Propriétés du paramètre

Type:CimSession
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ClassNameSessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
QueryExpressionSessionSet
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ClassName

Spécifie la classe d’indication à laquelle vous vous abonnez. Vous pouvez utiliser la complétion automatique par 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.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

ClassNameComputerSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
ClassNameSessionSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 une opération sur le système local à l’aide du modèle 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 améliorer les performances.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:CN, Nom du serveur

Jeux de paramètres

ClassNameComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
QueryExpressionComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Forward

Indique que les événements pour l'abonnement sont redirigés vers la session sur l'ordinateur local. Utilisez ce paramètre lorsque vous inscrivez des événements sur un ordinateur distant ou dans une session à distance.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MaxTriggerCount

Paramètre permettant d’indiquer que l’abonné doit être automatiquement désinscrit après avoir été déclenché pour le nombre de fois spécifié. 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.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-MessageData

Spécifie toutes les données supplémentaires à associer à cet abonnement d’événements. La valeur de ce paramètre apparaît dans la propriété MessageData de tous les événements associés à cet abonnement.

Propriétés du paramètre

Type:PSObject
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Namespace

Spécifie l’espace de noms de l’opération CIM. L’espace de noms par défaut est racine/CIMV2. Vous pouvez utiliser la complétion par tabulation pour parcourir la liste des namespaces, car PowerShell récupère la liste des namespaces depuis le serveur WMI local pour la fournir.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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’attente de nouvelle tentative de connexion robuste de 3 minutes, les échecs 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 ne puisse se reconnecter.

Propriétés du paramètre

Type:UInt32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:OT

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 échapper ces caractères en les faisant précéder de la 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 [.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

QueryExpressionSessionSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
QueryExpressionComputerSet
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-QueryDialect

Spécifie le langage de requête utilisé pour le paramètre de requête. Les valeurs acceptables pour ce paramètre sont les suivantes : WQL ou CQL. La valeur par défaut est WQL.

Propriétés du paramètre

Type:String
Valeur par défaut:WQL
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

QueryExpressionSessionSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
QueryExpressionComputerSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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énement associés à cet abonnement.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-SupportEvent

Indique que l'abonnement aux événements est caché. Utilisez ce paramètre lorsque l’abonnement actuel fait partie d’un mécanisme d’inscription d’événements plus complexe et qu’il ne doit pas être découvert indépendamment.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

Object

Cette applet de commande retourne un objet EventSubscription.

Notes

PowerShell inclut les alias suivants pour Register-CimIndicationEvent:

  • Windows :
    • rcie

Cette applet de commande est disponible uniquement sur les plateformes Windows.