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 $Event
variá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
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.