Megosztás a következőn keresztül:


Register-WmiEvent

Előfizet egy Windows Management Instrumentation (WMI) eseményre.

Syntax

Register-WmiEvent
        [-Namespace <String>]
        [-Credential <PSCredential>]
        [-ComputerName <String>]
        [-Class] <String>
        [-Timeout <Int64>]
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]
Register-WmiEvent
        [-Namespace <String>]
        [-Credential <PSCredential>]
        [-ComputerName <String>]
        [-Query] <String>
        [-Timeout <Int64>]
        [[-SourceIdentifier] <String>]
        [[-Action] <ScriptBlock>]
        [-MessageData <PSObject>]
        [-SupportEvent]
        [-Forward]
        [-MaxTriggerCount <Int32>]
        [<CommonParameters>]

Description

A Register-WmiEvent parancsmag előfizet a Windows Management Instrumentation (WMI) eseményeire a helyi számítógépen vagy egy távoli számítógépen.

Az előfizetett WMI-esemény létrehozásakor a rendszer akkor is hozzáadja az eseménysorhoz a helyi munkamenetben, ha az esemény távoli számítógépen történik. Ha eseményeket szeretne lekérni az eseménysorba, használja a Get-Event parancsmagot.

A paraméterekkel Register-WmiEvent előfizethet a távoli számítógépek eseményeire, és megadhatja az események tulajdonságértékeit, amelyek segíthetnek azonosítani az eseményt az üzenetsorban. A Művelet paraméterrel azt is megadhatja, hogy milyen műveleteket hajthat végre egy előfizetett esemény létrehozásakor.

Amikor előfizet egy eseményre, a rendszer hozzáad egy esemény-előfizetőt a munkamenethez. Az esemény előfizetőinek a munkamenetben való lekéréséhez használja a Get-EventSubscriber parancsmagot. Az előfizetés lemondásához használja a Unregister-Event parancsmagot, amely törli az esemény-előfizetőt a munkamenetből.

A Windows PowerShell 3.0-t bevezetett új Common Information Model (CIM) parancsmagok ugyanazokat a feladatokat hajtják végre, mint a WMI-parancsmagok. A CIM-parancsmagok megfelelnek a WS-Management (WSMan) szabványnak és a CIM szabványnak, amely lehetővé teszi, hogy a parancsmagok ugyanazokat a technikákat használják a Windows operációs rendszert futtató számítógépek és más operációs rendszereket futtató számítógépek kezelésére. A használat Register-WmiEventhelyett fontolja meg a Register-CimIndicationEvent parancsmag használatát.

Példák

1. példa: Előfizetés egy osztály által létrehozott eseményekre

Ez a parancs feliratkozik a Win32_ProcessStartTrace osztály által létrehozott eseményekre. Ez az osztály eseményt hoz létre, amikor egy folyamat elindul.

Register-WmiEvent -Class 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"

2. példa: Feliratkozás létrehozási eseményekre egy folyamathoz

Ez a parancs lekérdezéssel feliratkozik Win32_process példánylétrehozás eseményeire.

$wmiParameters = @{
  Query = "select * from __instancecreationevent within 5 where targetinstance isa 'win32_process'"
  SourceIdentifier = "WMIProcess"
  MessageData = "Test 01"
  TimeOut = 500
}
Register-WmiEvent @wmiParameters

3. példa: Művelet használata egy eseményre való reagáláshoz

Ez a példa bemutatja, hogyan lehet művelet használatával reagálni egy eseményre. Ebben az esetben egy folyamat indításakor az aktuális munkamenetben lévő parancsok Start-Process xml-fájlba lesznek írva.

$action = { Get-History | where { $_.commandline -like "*start-process*" } | export-cliXml "commandHistory.clixml" }
Register-WmiEvent -Class 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -Action $action

Id    Name            State      HasMoreData   Location  Command
--    ----            -----      -----------   --------  -------
1     ProcessStarted  NotStarted False                   get-history | where {...

A Művelet paraméter használatakor egy háttérfeladatot ad vissza, Register-WmiEvent amely az eseményműveletet jelöli. A Feladat parancsmagokkal( például Get-Job és Receive-Job) kezelheti az eseményfeladatot.

További információkért lásd a feladatokat ismertető szakaszt.

4. példa: Események regisztrálása távoli számítógépen

Ez a példa a Server01 távoli számítógépen lévő eseményekre regisztrál.

Register-WmiEvent -Class 'Win32_ProcessStartTrace' -SourceIdentifier "Start" -Computername Server01
Get-Event -SourceIdentifier "Start"

A WMI visszaadja az eseményeket a helyi számítógépnek, és azokat az aktuális munkamenet eseménysorában tárolja. Az események lekéréséhez futtasson egy helyi Get-Event parancsot.

Paraméterek

-Action

Az eseményeket kezelő parancsokat adja meg. A Művelet paraméter parancsai egy esemény létrehozásakor futnak, ahelyett, hogy az eseményt az eseménysorba küldik. A parancsokat kapcsos zárójelekbe ({}) ágyazva hozzon létre egy szkriptblokkot.

A Művelet értéke lehet a $Event, $EventSubscriber, $EventArgs$Sender, és $Args automatikus változó, amelyek információt nyújtanak az eseményről a Művelet szkriptblokkban. További információ: about_Automatic_Variables.

Ha megad egy műveletet, Register-WmiEvent egy eseményfeladat-objektumot ad vissza, amely az adott műveletet jelöli. Az eseményfeladat kezeléséhez használhatja a Feladat főnevét (a Feladat parancsmagjait) tartalmazó parancsmagokat.

Type:ScriptBlock
Position:101
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Class

Azt az eseményt adja meg, amelyre feliratkozik. Adja meg az eseményeket létrehozó WMI-osztályt. Minden parancshoz osztály- vagy lekérdezésparaméter szükséges.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Annak a számítógépnek a nevét adja meg, amelyen a parancs fut. Alapértelmezés szerint a helyi számítógép.

Írja be a Számítógép NetBIOS-nevét, IP-címét vagy teljes tartománynevét. A helyi számítógép megadásához írja be a számítógép nevét, a pont (.) vagy a localhost nevet.

Ez a paraméter nem támaszkodik a Windows PowerShell-újraegyezésre. Akkor is használhatja a ComputerName paramétert, ha a számítógép nincs távoli parancsok futtatására konfigurálva.

Type:String
Aliases:Cn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

A művelet végrehajtásához engedéllyel rendelkező felhasználói fiókot ad meg. Alapértelmezés szerint az aktuális felhasználó.

Írjon be egy felhasználónevet (például User01 vagy Domain01\User01), vagy írjon be egy PSCredential objektumot, például a parancsmag által Get-Credential létrehozott objektumot. Ha felhasználónevet ír be, ez a parancsmag jelszó megadását kéri.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Forward

Azt jelzi, hogy ez a parancsmag eseményeket küld az előfizetéshez a helyi számítógépen található munkamenetnek. Ezt a paramétert akkor használja, ha távoli számítógépen vagy távoli munkamenetben regisztrál eseményekre.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxTriggerCount

Megadja az eseményindítók maximális számát.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MessageData

Megadja az esemény-előfizetéshez társítandó további adatokat. Ennek a paraméternek az értéke az előfizetéshez társított összes esemény MessageData tulajdonságában jelenik meg.

Type:PSObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

A WMI-osztály névterét adja meg.

Type:String
Aliases:NS
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Query

A WMI lekérdezési nyelv (WQL) olyan lekérdezését adja meg, amely azonosítja a WMI-eseményosztályt, például: select * from __InstanceDeletionEvent.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-SourceIdentifier

Megadja az előfizetéshez kiválasztott nevet. A kiválasztott névnek egyedinek kell lennie az aktuális munkamenetben. Az alapértelmezett érték a Windows PowerShell által hozzárendelt GUID.

Ennek a paraméternek az értéke az előfizető objektum SourceIdentifier tulajdonságának és az előfizetéshez társított összes eseményobjektumnak az értékében jelenik meg.

Type:String
Position:100
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SupportEvent

Azt jelzi, hogy ez a parancsmag elrejti az esemény-előfizetést. Ezt a paramétert akkor használja, ha az aktuális előfizetés egy összetettebb eseményregisztrációs mechanizmus része, és nem szabad egymástól függetlenül felderíteni.

A SupportEvent paraméterrel létrehozott előfizetés megtekintéséhez vagy lemondásához adja meg a Unregister-EventGet-EventSubscriber parancsmagok Kényszerítés paraméterét.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Timeout

Megadja, hogy a Windows PowerShell mennyi ideig várja meg a parancs befejezését.

A 0 (nulla) alapértelmezett érték azt jelenti, hogy nincs időtúllépés, ezért a Windows PowerShell határozatlan ideig várakozik.

Type:Int64
Aliases:TimeoutMSec
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

None

Ehhez a parancsmaghoz nem lehet objektumokat csövezni.

Kimenetek

None

Ez a parancsmag nem hoz létre kimenetet.

Jegyzetek

Ha ezt a parancsmagot a Windows Vista vagy a Windows operációs rendszer egy újabb verziójában szeretné használni, indítsa el a Windows PowerShellt a Futtatás rendszergazdaként lehetőséggel.

Az események, az esemény-előfizetések és az eseménysor csak az aktuális munkamenetben léteznek. Ha bezárja az aktuális munkamenetet, a rendszer elveti az eseménysort, és megszakítja az esemény-előfizetést.