Cria um novo evento.
Sintaxe
New-Event [-SourceIdentifier] <string> [[-Sender] <psobject>] [[-EventArguments] <PSObject[]>] [[-MessageData] <psobject>] [<CommonParameters>]
Descrição
O cmdlet New-Event cria um novo evento personalizado.
Você pode usar eventos personalizados para notificar os usuários sobre alterações de estado em seu programa e qualquer alteração que seu programa possa detectar, inclusive condições de hardware ou do sistema, status de aplicativo, status de disco, status de rede ou a conclusão de um trabalho em segundo plano.
São automaticamente adicionados eventos personalizados à fila de eventos de sua sessão sempre que eles são aumentados; você não precisa assiná-los. Porém, se você desejar encaminhar um evento à sessão local ou especificar uma ação para responder ao evento, use o cmdlet Register-EngineEvent para assinar o evento personalizado.
Ao assinar um evento personalizado, o assinante do evento é adicionado à sessão. Se você cancelar a assinatura de um evento usando o cmdlet Unregister-Event, o assinante do evento e o evento personalizado são excluídos da sessão. Se você não assinar o evento personalizado, para excluir o evento será necessário alterar as condições do programa ou fechar a sessão do Windows PowerShell.
Parâmetros
-EventArguments <PSObject[]>
Especifica um objeto que contém opções para o evento.
Necessário? |
false |
Posição? |
3 |
Valor padrão |
nenhum |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-MessageData <psobject>
Especifica dados adicionais associados ao evento. O valor deste parâmetro aparece na propriedade MessageData do objeto de evento.
Necessário? |
false |
Posição? |
4 |
Valor padrão |
nenhum |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Sender <psobject>
Especifica o objeto que aumenta o evento. O padrão é o mecanismo do Windows PowerShell.
Necessário? |
false |
Posição? |
2 |
Valor padrão |
nenhum |
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-SourceIdentifier <string>
Especifica um nome para um novo evento. Esse parâmetro é obrigatório e deve ser exclusivo na sessão.
O valor deste parâmetro aparece na propriedade SourceIdentifier dos eventos.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
None Você não pode canalizar a entrada para este cmdlet. |
Saídas |
System.Management.Automation.PSEventArgs |
Observações
O novo evento personalizado, a assinatura de eventos e a fila de eventos só existem na sessão atual. Se você fechar a sessão atual, a fila de eventos será descartada e a assinatura de evento será cancelada.
Exemplo 1
C:\PS>new-event -sourceidentifier Timer -sender windows.timer -messagedata "Test" Descrição ----------- Este comando cria um novo evento na fila de eventos do Windows PowerShell. Ele usa um objeto Windows.Timer para enviar o evento.
Exemplo 2
C:\PS>function Enable-ProcessCreationEvent { $query = New-Object System.Management.WqlEventQuery "__InstanceCreationEvent", (New-Object TimeSpan 0,0,1), "TargetInstance isa 'Win32_Process'" $processWatcher = New-Object System.Management.ManagementEventWatcher $query $identifier = "WMI.ProcessCreated" Register-ObjectEvent $processWatcher "EventArrived" -SupportEvent $identifier -Action { [void] (New-Event -sourceID "PowerShell.ProcessCreated" -Sender $args[0] -EventArguments $args[1].SourceEventArgs.NewEvent.TargetInstance) } } Descrição ----------- Esta função de exemplo usa o cmdlet New-Event para gerar um evento em resposta a outro evento. O comando usa o cmdlet Register-ObjectEvent para assinar o evento WMI (Windows Management Instrumentation) que é gerado quando um novo processo é criado. O comando usa o parâmetro Action do cmdlet para chamar o cmdlet New-Event que cria o novo evento. Como os eventos aumentados por New-Event são adicionados automaticamente à fila de eventos do Windows PowerShell, você não precisa assinar aquele evento.
See Also