Compartilhar via


Register-CimIndicationEvent

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

Sintaxe

ClassNameComputerSet (Padrão)

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

Este cmdlet só está disponível na plataforma Windows.

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

Este exemplo inscreve-se nos eventos gerados pela classe chamada Win32_ProcessStartTrace. Essa classe gera um evento sempre que um processo é iniciado.

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

O cmdlet Get-Event obtém os eventos da assinatura com o ProcessStarted. Para obter mais informações, consulte Get-Event.

Observação

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

Exemplo 2: Registrar os eventos usando uma consulta

Este exemplo usa uma consulta para se inscrever em um evento que é 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

Este exemplo 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"
}
$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    Action = $action
}
Register-CimIndicationEvent @event

Para obter mais informações, consulte Win32_ProcessStartTrace.

Exemplo 4: registrar os eventos em um computador remoto

Este exemplo inscreve-se em 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.

$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    ComputerName = 'Server01'
}
Register-CimIndicationEvent @event
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 entre 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_CimSession.

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

Não é possível transferir objetos para esse cmdlet.

Saídas

Object

Esse cmdlet retorna um objeto EventSubscription.

Observações

O PowerShell inclui os seguintes aliases para Register-CimIndicationEvent:

  • Windows:
    • rcie

Este cmdlet está disponível apenas em plataformas Windows.