Register-WmiEvent
Přihlásí se k odběru události WMI (Windows Management Instrumentation).
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
Rutina Register-WmiEvent
se přihlásí k odběru událostí služby WMI (Windows Management Instrumentation) na místním počítači nebo ve vzdáleném počítači.
Když se vyvolá předplacená událost rozhraní WMI, přidá se do fronty událostí v místní relaci i v případě, že k události dojde ve vzdáleném počítači. K získání událostí ve frontě událostí použijte rutinu Get-Event
.
Parametry přihlášení k odběru Register-WmiEvent
událostí na vzdálených počítačích a určení hodnot vlastností událostí, které vám můžou pomoct identifikovat událost ve frontě. Pomocí parametru Akce můžete také určit akce, které se mají provést při vyvolání odebírané události.
Když se přihlásíte k odběru události, přidá se do vaší relace odběratel události. Pokud chcete získat odběratele událostí v relaci, použijte tuto rutinu Get-EventSubscriber
. Pokud chcete předplatné zrušit, použijte rutinu Unregister-Event
, která odstraní odběratele události z relace.
Nové rutiny MODELU CIM (Common Information Model), zavedené ve Windows PowerShellu 3.0, provádějí stejné úlohy jako rutiny rozhraní WMI. Rutiny CIM vyhovují standardům WS-Management (WSMan) a standardu CIM, což umožňuje rutinám používat stejné techniky ke správě počítačů s operačním systémem Windows a těch, které používají jiné operační systémy. Místo použití Register-WmiEvent
zvažte použití rutiny Register-CimIndicationEvent .
Příklady
Příklad 1: Přihlášení k odběru událostí generovaných třídou
Tento příkaz se přihlásí k odběru událostí generovaných Win32_ProcessStartTrace třídou. Tato třída vyvolá událost při každém spuštění procesu.
Register-WmiEvent -Class 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Příklad 2: Přihlášení k odběru událostí vytváření procesu
Tento příkaz používá dotaz k přihlášení k odběru událostí vytvoření instance Win32_process.
$wmiParameters = @{
Query = "select * from __instancecreationevent within 5 where targetinstance isa 'win32_process'"
SourceIdentifier = "WMIProcess"
MessageData = "Test 01"
TimeOut = 500
}
Register-WmiEvent @wmiParameters
Příklad 3: Použití akce k reakci na událost
Tento příklad ukazuje, jak pomocí akce reagovat na událost. V takovém případě se při spuštění procesu všechny Start-Process
příkazy v aktuální relaci zapíšou do souboru XML.
$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 {...
Pokud použijete parametr Akce , Register-WmiEvent
vrátí úlohu na pozadí, která představuje akci události. Ke správě úlohy můžete použít rutiny Úlohy , například Get-Job
a Receive-Job
.
Další informace najdete v tématu Informace o úlohách.
Příklad 4: Registrace událostí ve vzdáleném počítači
Tento příklad registruje události na vzdáleném počítači Server01.
Register-WmiEvent -Class 'Win32_ProcessStartTrace' -SourceIdentifier "Start" -Computername Server01
Get-Event -SourceIdentifier "Start"
Rozhraní WMI vrátí události do místního počítače a uloží je do fronty událostí v aktuální relaci. Pokud chcete načíst události, spusťte místní Get-Event
příkaz.
Parametry
-Action
Určuje příkazy, které zpracovávají události. Příkazy v parametru akce se spustí při vyvolání události místo odeslání události do fronty událostí. Uzavřete příkazy do složených závorek ({}
) a vytvořte blok skriptu.
Hodnota Akce může zahrnovat $Event
proměnné , $EventArgs
$Sender
$EventSubscriber
a $Args
automatické proměnné, které poskytují informace o události do bloku skriptu akce. Další informace najdete v tématu about_Automatic_Variables.
Když zadáte akci, Register-WmiEvent
vrátí objekt úlohy události, který tuto akci představuje. Ke správě úlohy události můžete použít rutiny obsahující podstatná jména úlohy ( rutiny úlohy ).
Type: | ScriptBlock |
Position: | 101 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Class
Určuje událost, ke které se přihlašujete k odběru. Zadejte třídu rozhraní WMI, která generuje události. Každý příkaz vyžaduje parametr třídy nebo dotazu .
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Určuje název počítače, na kterém se příkaz spouští. Ve výchozím nastavení je to místní počítač.
Zadejte název NetBIOS, IP adresu nebo plně kvalifikovaný název domény počítače. Chcete-li zadat místní počítač, zadejte název počítače, tečku (.
) nebo localhost.
Tento parametr nespoléhá na vzdálené komunikace Windows PowerShellu. Parametr ComputerName můžete použít i v případě, že váš počítač není nakonfigurovaný tak, aby spouštět vzdálené příkazy.
Type: | String |
Aliases: | Cn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Určuje uživatelský účet, který má oprávnění k provedení této akce. Ve výchozím nastavení je to aktuální uživatel.
Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential , například objekt vygenerovaný rutinou Get-Credential
. Pokud zadáte uživatelské jméno, tato rutina vás vyzve k zadání hesla.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Forward
Označuje, že tato rutina odesílá události pro toto předplatné do relace v místním počítači. Tento parametr použijte při registraci událostí na vzdáleném počítači nebo ve vzdálené relaci.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxTriggerCount
Určuje maximální počet aktivačních událostí.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MessageData
Určuje všechna další data, která se mají přidružit k tomuto odběru událostí. Hodnota tohoto parametru se zobrazí ve vlastnosti MessageData všech událostí přidružených k tomuto odběru.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Namespace
Určuje obor názvů třídy WMI.
Type: | String |
Aliases: | NS |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Query
Určuje dotaz v jazyce WMI Query Language (WQL), který identifikuje třídu událostí rozhraní WMI, například: select * from __InstanceDeletionEvent
.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SourceIdentifier
Určuje název, který vyberete pro předplatné. Název, který vyberete, musí být v aktuální relaci jedinečný. Výchozí hodnota je identifikátor GUID, který windows PowerShell přiřadí.
Hodnota tohoto parametru se zobrazí v hodnotě SourceIdentifier vlastnost odběratel objektu a všech objektů událostí přidružených k tomuto odběru.
Type: | String |
Position: | 100 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SupportEvent
Označuje, že tato rutina skryje odběr událostí. Tento parametr použijte, pokud je aktuální odběr součástí složitějšího mechanismu registrace událostí a neměl by být zjištěn nezávisle.
Pokud chcete zobrazit nebo zrušit předplatné vytvořené pomocí parametru SupportEvent , zadejte parametr Force pro rutiny Get-EventSubscriber
a Unregister-Event
rutiny.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Timeout
Určuje, jak dlouho windows PowerShell čeká na dokončení tohoto příkazu.
Výchozí hodnota 0 (nula) znamená, že neexistuje časový limit a způsobí, že Windows PowerShell počká na neomezenou dobu.
Type: | Int64 |
Aliases: | TimeoutMSec |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
None
Do této rutiny nelze vést objekty.
Výstupy
None
Tato rutina negeneruje žádný výstup.
Poznámky
Pokud chcete tuto rutinu použít ve Windows Vista nebo novější verzi operačního systému Windows, spusťte Windows PowerShell pomocí možnosti Spustit jako správce.
Události, odběry událostí a fronta událostí existují pouze v aktuální relaci. Pokud zavřete aktuální relaci, fronta událostí se zahodí a odběr události se zruší.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro