Compartilhar via


Register-CimIndicationEvent

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

Sintaxe

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

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

O Register-CimIndicationEvent cmdlet 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 assina os eventos gerados pela classe chamada Win32_ProcessStartTrace. Esta classe dispara um evento sempre que um processo é iniciado.

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

O Get-Event cmdlet obtém os eventos com a assinatura 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 assinar um evento gerado sempre que há 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 contém o bloco de script para Action, que usa a $event variável 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

Este exemplo 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 local Get-Event 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 é gerado, 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 $Eventvariáveis , $EventSubscriber, $Sender, $SourceEventArgs, e $SourceArgs automáticas, 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.

Tipo:ScriptBlock
Cargo:1
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 crie ou obtenha a sessão CIM, como os New-CimSession cmdlets or Get-CimSession . Para obter mais informações, consulte about_CimSession.

Tipo:CimSession
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ClassName

Especifica a classe de indicação à qual você está assinando. Você pode usar o preenchimento de tabulação para procurar a lista de classes, pois o PowerShell obtém uma lista de classes do servidor WMI local para fornecer uma lista de nomes de classe.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 o COM (Component Object Model).

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

Tipo:String
Aliases:CN, ServerName
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Forward

Indica que os eventos da assinatura são encaminhados para a sessão no computador local. Utilize esse parâmetro ao registrar eventos em um computador remoto ou em uma sessão remota.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-MaxTriggerCount

Parâmetro para indicar que o registro do assinante deve ser cancelado automaticamente após ser acionado por horários especificados. Se o valor for igual ou menor que zero, não há limite para o número de vezes que o evento pode ser acionado sem ter o registro cancelado.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-MessageData

Especifica todos os 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.

Tipo:PSObject
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Namespace

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

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 robusta 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.

Tipo:UInt32
Aliases:OT
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 WQL LIKE, você deverá escapar dos seguintes caracteres colocando-os entre colchetes: porcentagem%, sublinhado _ou colchete [][de abertura.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-QueryDialect

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

Tipo:String
Cargo:Named
Valor padrão:WQL
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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 de assinante e de todos os objetos de evento associados a essa assinatura.

Tipo:String
Cargo:1
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SupportEvent

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

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Você não pode canalizar 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

Esse cmdlet só está disponível em plataformas Windows.