Ruft die Ereignisabonnenten in der aktuellen Sitzung ab. (Get-EventSubscriber)

   

NAME
Get-EventSubscriber

# ÜBERSICHT
Ruft die Ereignisabonnenten in der aktuellen Sitzung ab.

# SYNTAX
Get-EventSubscriber [-SubscriptionId] <int> [[-Force]] [<CommonParameters>]

Get-EventSubscriber [[-SourceIdentifier] <string>] [[-Force]] [<CommonParameters>]

# BESCHREIBUNG
Mit dem Cmdlet "Get-EventSubscriber" werden die Ereignisabonnenten in der aktuellen Sitzung abgerufen.

Wenn Sie ein Ereignis mit dem Cmdlet "Register-Event" abonnieren, wird der Windows PowerShell-Sitzung ein Ereignisabonnent hinzugefügt, und die abonnierten Ereignisse werden der Ereigniswarteschlange hinzugefügt, sobald sie ausgelöst werden.
Um ein Ereignisabonnement zu stornieren, löschen Sie den Ereignisabonnenten mit dem Cmdlet "Unregister-Event".

# PARAMETER
-Force [<SwitchParameter>]
Ruft alle Ereignisabonnenten, einschließlich Abonnenten für versteckte Ereignisse, mit dem SupportEvent-Parameter von Register-ObjectEvent, Register-WmiEvent und Register-EngineEvent ab.

Erforderlich? false
Position? 2
Standardwert
Pipelineeingaben akzeptieren?false
Platzhalterzeichen akzeptieren?false

-SourceIdentifier <string>
Ruft nur die Ereignisabonnenten mit dem angegebenen SourceIdentifier-Eigenschaftenwert ab. Standardmäßig werden mit Get-EventSubscriber alle Ereignisabonnenten in der Sitzung abgerufen. Platzhalter sind nicht zulässig. Bei diesem Parameter wird die Groß-/Kleinschreibung berücksichtigt.

Erforderlich? false
Position? 1
Standardwert Alle Ereignisabonnenten
Pipelineeingaben akzeptieren?true (ByPropertyName)
Platzhalterzeichen akzeptieren?false

-SubscriptionId <int>
Ruft nur den angegebenen Abonnementbezeichner ab. Standardmäßig werden mit Get-EventSubscriber alle Ereignisabonnenten in der Sitzung abgerufen.

Erforderlich? true
Position? 1
Standardwert Keiner
Pipelineeingaben akzeptieren?true (ByPropertyName)
Platzhalterzeichen akzeptieren?false

<CommonParameters>
Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug",
"ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable",
"OutBuffer" und "OutVariable". Weitere Informationen
erhalten Sie mit dem Befehl "get-help about_commonparameters".

# EINGABEN
Keiner
Eingaben können nicht über die Pipeline an dieses Cmdlet übergeben werden.

# AUSGABEN
System.Management.Automation.PSEventSubscriber
Get-EventSubscriber gibt ein Objekt zurück, das die einzelnen Ereignisabonnenten darstellt.

# HINWEISE

Das Cmdlet "New-Event", das ein benutzerdefiniertes Ereignis erstellt, generiert keinen Abonnenten. Deshalb sucht das Cmdlet "Get-EventSubscriber" kein Abonnentenobjekt für diese Ereignisse. Wenn Sie jedoch ein benutzerdefiniertes Ereignis mit dem Cmdlet "Register-EngineEvent" abonnieren (um das Ereignis weiterzuleiten oder eine Aktion anzugeben), wird mit Get-EventSubscriber der Abonnent gesucht, der von Register-EngineEvent generiert wird.

Ereignisse, Ereignisabonnements und die Ereigniswarteschlange sind nur in der aktuellen Sitzung vorhanden. Wenn Sie die aktuelle Sitzung schließen, wird die Ereigniswarteschlange verworfen, und das Ereignisabonnement wird abgebrochen.

# BEISPIEL 1

C:\PS>$timer = New-Object Timers.Timer

C:\PS> $timer | Get-Member -Type Event

C:\PS> Register-ObjectEvent -inputObject $timer -EventName Elapsed -SourceIdentifier Timer.Elapsed

C:\PS> Get-EventSubscriber

C:\PS> $timer = New-Object Timers.Timer

C:\PS> $timer | Get-Member -Type Event

TypeName: System.Timers.Timer

Name MemberType Definition
---- ---------- ----------
Disposed Event System.EventHandler Disposed(System.Object, System.EventArgs)
Elapsed Event System.Timers.ElapsedEventHandler Elapsed(System.Object, System.Timers.ElapsedEventArgs)

C:\PS> Register-ObjectEvent -InputObject $timer -EventName Elapsed -SourceIdentifier Timer.Elapsed

C:\PS> Get-EventSubscriber

SubscriptionId : 4
SourceObject : System.Timers.Timer
EventName : Elapsed
SourceIdentifier : Timer.Elapsed
Action :
HandlerDelegate :
SupportEvent : False
ForwardEvent : False

Beschreibung
-----------
In diesem Beispiel wird der Befehl "Get-EventSubscriber" verwendet, um den Ereignisabonnenten für ein Zeitgeberereignis abzurufen.

Im ersten Befehl wird das Cmdlet "New-Object" verwendet, um eine Instanz eines Zeitgeberobjekts zu erstellen. Das neue Zeitgeberobjekt wird in der Variablen "$timer" gespeichert.

Im zweiten Befehl wird das Cmdlet "Get-Member" verwendet, um die Ereignisse anzuzeigen, die für Zeitgeberobjekte verfügbar sind. Der Befehl verwendet den Type-Parameter des Cmdlets "Get-Member" mit dem Wert "Event".

Im dritten Befehl wird das Cmdlet "Register-ObjectEvent" verwendet, um das Elapsed-Ereignis des Zeitgeberobjekts zu registrieren.

Im vierten Befehl wird mit dem Cmdlet "Get-EventSubscriber" der Ereignisabonnent für das Elapsed-Ereignis abgerufen.

# BEISPIEL 2

C:\PS>$timer = New-Object Timers.Timer

C:\PS> $timer.Interval = 500

C:\PS> Register-ObjectEvent -inputObject $timer -eventName Elapsed -sourceIdentifier Timer.Random -Action { $random = Get-Random -Min 0 -Max 100 }

Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
3 Timer.Random NotStarted False $random = Get-Random ...

C:\PS> $timer.Enabled = $true

C:\PS> $subscriber = Get-EventSubcriber -sourceIdentifer Timer.Random

C:\PS> ($subscriber.action).gettype().fullname
PSEventJob

C:\PS> $subscriber.action | format-list -property *

State : Running
Module : __DynamicModule_6b5cbe82-d634-41d1-ae5e-ad7fe8d57fe0
StatusMessage :
HasMoreData : True
Location :
Command : $random = Get-Random -Min 0 -Max 100
JobStateInfo : Running
Finished : System.Threading.ManualResetEvent
InstanceId : 88944290-133d-4b44-8752-f901bd8012e2
Id : 1
Name : Timer.Random
ChildJobs : {}
...

C:\PS> & $subscriber.action.module {$random}
96

C:\PS> & $subscriber.action.module {$random}
23

Beschreibung
-----------
In diesem Beispiel wird gezeigt, wie das dynamische Modul im PSEventJob-Objekt in der Action-Eigenschaft des Ereignisabonnenten verwendet wird.

Der erste Befehl erstellt mit dem Cmdlet "New-Object" ein Zeitgeberobjekt. Mit dem zweiten Befehl wird das Intervall des Zeitgebers auf 500 (Millisekunden) festgelegt.

Mit dem dritten Befehl wird das Cmdlet "Register-ObjectEvent" verwendet, um das Elapsed-Ereignis des Zeitgeberobjekts zu registrieren. Der Befehl schließt eine Aktion ein, die das Ereignis behandelt. Jedes Mal, wenn das Zeitgeberintervall abläuft, wird ein Ereignis ausgelöst und die Befehle in der Aktion ausgeführt. In diesem Fall generiert das Cmdlet "Get-Random" eine Zufallszahl zwischen 0 und 100 und speichert sie in der Variablen "$random". Der Quellbezeichner des Ereignisses lautet "Timer.Random".

Wenn Sie in einem Register-ObjectEvent-Befehl einen Action-Parameter verwenden, gibt der Befehl ein PSEventJob-Objekt zurück, das die Aktion darstellt.

Mit dem vierten Befehl wird der Zeitgeber aktiviert.

Mit dem fünften Befehl wird das Cmdlet "Get-EventSubscriber" verwendet, um den Ereignisabonnenten des Timer.Random-Ereignisses abzurufen. Das Ereignisabonnentenobjekt wird in der Variablen "$subscriber" gespeichert.

Der sechste Befehl zeigt, dass die Action-Eigenschaft des Ereignisabonnentenobjekts ein PSEventJob-Objekt enthält. Hierbei handelt es sich tatsächlich um das gleiche PSEventJob-Objekt, das vom Befehl "Register-ObjectEvent" zurückgegeben wurde.

Mit dem siebten Befehl wird das Cmdlet "Format-List" verwendet, um alle Eigenschaften des PSEventJob-Objekts in der Action-Eigenschaft in einer Liste anzuzeigen. Das Ergebnis veranschaulicht, dass das PSEventJob-Objekt über eine Module-Eigenschaft verfügt, die ein dynamisches Skriptmodul enthält, das die Aktion implementiert.

In den verbleibenden Befehlen wird der Aufrufoperator (&) verwendet, um den Befehl im Modul aufzurufen und den Wert der Variablen "$random" anzuzeigen. Sie können den Aufrufoperator verwenden, um einen beliebigen Befehl im Modul aufzurufen, einschließlich nicht exportierter Befehle. In diesem Fall zeigen die Befehle die Zufallsnummer an, die bei Auftreten des Elapsed-Ereignisses generiert wird.

Weitere Informationen zu Modulen finden Sie unter "about_Modules".

VERWANDTE LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=135155 (möglicherweise auf Englisch)
Register-ObjectEvent
Register-EngineEvent
Register-WmiEvent
Unregister-Event
Get-Event
New-Event
Remove-Event
Wait-Event

C:\Windows>powershell get-help Unregister-Event -full

ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.

OS: Windows-10 / Windows-8.1 & 8 / Windows-7 & Vista / Windows Server 2008-2016
»»»» ColorConsole



 


... Home  
... Impressum
... ColorConsole

... CMD
... Netsh-XP
... Netsh-7
... Netsh-Vista
... Powershell





;-)









Windows 10 download: Starter, Home (Basic Premium), Professional und Win 10 Ultimate!

... facebook.de
0.078
Is there the Q-Dir File Manager for Linux or Mac OS X?  / Q-Dir opens 4 times my computer, last setting is lost?  / Automatisch nach aktueller Treibersoftware suchen über den Win-8, bzw 8.1 Gerätemanager!  / Ist ein Upgrade auf Windows 10 von Windows 7 oder 8.1 möglich!?  / How can i start the paint program in Windows 8, 8.1 or Win 10 (run, open, find)?  / Wie kann ich einen Ordner mit vielen Unterordner darstellen?  / How to clean up the app folder in Windows 8.1 and 10 (delete app´s)!  / I think is missing is the "Invert Selection" option!  / Wo ist das Ausführen Dialogfenster in Windows 7?  / Wie kann ich die Win 8 und 8.1 Systemsteuerung ans Windows 8 Startmenü anheften?  / How fast is Booting on Windows 7?  / How can i translate WinBin2Iso in my language!  /