Partilhar 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

Este 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.

Este 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 gera 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.

Nota

Neste 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 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 chega

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: Registar os eventos num 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 Action pode incluir as $Eventvariáveis , $EventSubscriber, $Sender, $SourceEventArgse $SourceArgs automática, que fornecem informações sobre o evento para o bloco de script Action . Para obter mais informações, consulte Sobre variáveis automáticas.

Tipo:ScriptBlock
Position:1
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-ClassName

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

Tipo:String
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-ComputerName

Especifica o nome do computador no qual você deseja executar a operação CIM. Você pode especificar um nome de domínio totalmente qualificado (FQDN), 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 um melhor desempenho.

Tipo:String
Aliases:CN, ServerName
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Forward

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

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-MaxTriggerCount

Parâmetro para indicar que o assinante deve ser cancelado automaticamente após ser acionado para 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 ser cancelado.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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.

Tipo:PSObject
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Namespace

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

Tipo:String
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-OperationTimeoutSec

Especifica a quantidade de tempo que o cmdlet aguarda por 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, porque a operação no servidor expira antes que o cliente possa se reconectar.

Tipo:UInt32
Aliases:OT
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais: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
Position:Named
Default value:WQL
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-SourceIdentifier

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

Tipo:String
Position:1
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-SupportEvent

Indica que a assinatura do evento está oculta. Use esse parâmetro quando a assinatura atual fizer parte de um mecanismo de registro de eventos mais complexo e não for descoberta independentemente.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

None

Não é possível canalizar objetos para este cmdlet.

Saídas

Object

Este cmdlet retorna um objeto EventSubscription .

Notas

O PowerShell inclui os seguintes aliases para Register-CimIndicationEvent:

  • Windows:
    • rcie

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