Compartilhar via


Register-CimIndicationEvent

Assina as indicações usando uma expressão de filtro ou uma expressão de consulta.

Sintaxe

ClassNameComputerSet (Default)

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

O cmdlet Register-CimIndicationEvent assina indicações usando um nome de classe de indicação ou uma expressão de consulta. Use o parâmetro SourceIdentifier para dar um nome à assinatura.

Esse cmdlet retorna um objeto EventSubscription. Você pode usar esse objeto para cancelar a assinatura.

Exemplos

Exemplo 1: registrar os eventos gerados por uma classe

Esse conjunto de comandos assina os eventos gerados pela classe chamada Win32_ProcessStartTrace que gera um evento sempre que um processo é iniciado e obtém os eventos com a assinatura ProcessStarted usando o cmdlet Get-Event. Para obter mais informações, consulte Get-Event.

Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"

Observação

Para este exemplo, você deve executar o PowerShell como administrador.

Exemplo 2: Registrar os eventos usando uma consulta

Esse conjunto de comandos usa uma consulta para assinar um evento gerado sempre que houver uma alteração na instância de uma classe chamada Win32_LocalTime.

$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"

Exemplo 3: executar um script quando o evento chegar

Esse conjunto de comandos mostra como usar uma ação em resposta a um evento. A variável $action mantém o bloco de script para Action, que usa a variável $event para acessar o evento recebido do 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

Para obter mais informações, consulte Win32_ProcessStartTrace.

Exemplo 4: registrar os eventos em um computador remoto

Esse conjunto de comandos assina eventos em um computador remoto chamado Server01. Os eventos recebidos do servidor CIM são armazenados na fila de eventos na sessão atual do PowerShell e, em seguida, executam um Get-Event local para recuperar os eventos.

Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"

Parâmetros

-Action

Especifica os comandos que manipulam os eventos.

Os comandos especificados por esse parâmetro são executados quando um evento é acionado, em vez de enviar o evento para a fila de eventos. Coloque os comandos em chaves ( { } ) para criar um bloco de script.

O bloco de script especificado com Ação pode incluir as variáveis automáticas $Event, $EventSubscriber, $Sender, $SourceEventArgse $SourceArgs, que fornecem informações sobre o evento para o bloco de script Ação . Para obter mais informações, consulte Sobre variáveis automáticas.

Propriedades do parâmetro

Tipo:ScriptBlock
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-CimSession

Executa o comando usando a sessão CIM especificada. Insira uma variável que contenha a sessão CIM ou um comando que cria ou obtém a sessão CIM, como os cmdlets New-CimSession ou Get-CimSession. Para obter mais informações, consulte [about_CimSessions].

Propriedades do parâmetro

Tipo:CimSession
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ClassNameSessionSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
QueryExpressionSessionSet
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ClassName

Especifica a classe de indicação para a qual você está se inscrevendo. Você pode usar o preenchimento da guia para navegar na lista de classes, pois o PowerShell obtém uma lista de classes do servidor WMI local para fornecer uma lista de nomes de classe.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ClassNameComputerSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
ClassNameSessionSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-ComputerName

Especifica o nome do computador no qual você deseja executar a operação CIM. Você pode especificar um FQDN (nome de domínio totalmente qualificado), um nome NetBIOS ou um endereço IP.

Se você especificar esse parâmetro, o cmdlet criará uma sessão temporária para o computador especificado usando o protocolo WsMan. Se você não especificar esse parâmetro, o cmdlet executará a operação no sistema local usando COM (Component Object Model).

Se várias operações estiverem sendo executadas no mesmo computador, conecte-se usando uma sessão CIM para melhorar o desempenho.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:China, Nome do Servidor

Conjuntos de parâmetros

ClassNameComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
QueryExpressionComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Forward

Indica que os eventos da assinatura são redirecionados para a sessão no computador local. Use esse parâmetro quando você estiver se registrando para eventos em um computador remoto ou em uma sessão remota.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-MaxTriggerCount

Parâmetro para indicar que o assinante deve ser desregistrado automaticamente após ser acionado um número especificado de vezes. Se o valor for igual ou menor que zero, não haverá limite no número de vezes que o evento pode ser disparado sem ser registrado.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-MessageData

Especifica quaisquer dados adicionais a serem associados a essa assinatura de evento. O valor desse parâmetro aparece na propriedade MessageData de todos os eventos associados a essa assinatura.

Propriedades do parâmetro

Tipo:PSObject
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Namespace

Especifica o namespace para a operação CIM. O namespace padrão é raiz/cimv2. Você pode usar o preenchimento de guia para navegar na lista de namespaces, pois o PowerShell obtém uma lista de namespaces do servidor WMI local para fornecer a lista de namespaces.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-OperationTimeoutSec

Especifica a quantidade de tempo que o cmdlet aguarda uma resposta do computador. Por padrão, o valor desse parâmetro é 0, o que significa que o cmdlet usa o valor de tempo limite padrão para o servidor.

Se o parâmetro OperationTimeoutSec for definido como um valor menor que o tempo limite de repetição de conexão robusto de 3 minutos, as falhas de rede que duram mais do que o valor do parâmetro OperationTimeoutSec não serão recuperáveis, pois a operação no servidor atinge o tempo limite antes que o cliente possa se reconectar.

Propriedades do parâmetro

Tipo:UInt32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:OT

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Query

Especifica uma consulta a ser executada no servidor CIM. Se o valor especificado contiver aspas duplas ", aspas simples 'ou uma barra invertida \, você deverá escapar desses caracteres prefixando-os com o caractere de barra invertida. Se o valor especificado usar o operador LIKE do WQL, você deverá escapar os seguintes caracteres colocando-os entre colchetes []: porcentagem %, sublinhado _ ou colchete inicial [.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

QueryExpressionSessionSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
QueryExpressionComputerSet
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-QueryDialect

Especifica a linguagem de consulta usada para o parâmetro de consulta . Os valores aceitáveis para esse parâmetro são: WQL ou CQL. O valor padrão é WQL.

Propriedades do parâmetro

Tipo:String
Valor padrão:WQL
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

QueryExpressionSessionSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
QueryExpressionComputerSet
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-SourceIdentifier

Especifica um nome para a assinatura. O nome especificado deve ser exclusivo na sessão atual. O valor padrão é um GUID que o PowerShell atribui. Esse valor aparece no valor da propriedade SourceIdentifier do objeto assinante e de todos os objetos de evento associados a esta assinatura.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-SupportEvent

Indica que a inscrição do evento está oculta. Use esse parâmetro quando a assinatura atual faz parte de um mecanismo de registro de evento mais complexo e não deve ser descoberto de forma independente.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Esse cmdlet não aceita objetos de entrada.

Saídas

Object

Esse cmdlet gera um objeto eventSubscription .