Compartilhar via


New-Event

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

Nenhum

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.





Consulte também

Conceitos

Register-ObjectEvent
Register-EngineEvent
Register-WmiEvent
Unregister-Event
Get-Event
Remove-Event
Wait-Event