Register-CimIndicationEvent
Subskrybuj wskazania przy użyciu wyrażenia filtru lub wyrażenia zapytania.
Składnia
Register-CimIndicationEvent
[-Namespace <String>]
[-ClassName] <String>
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-ClassName] <String>
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-Query] <String>
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
-CimSession <CimSession>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Register-CimIndicationEvent
[-Namespace <String>]
[-Query] <String>
[-QueryDialect <String>]
[-OperationTimeoutSec <UInt32>]
[-ComputerName <String>]
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Opis
Polecenie Register-CimIndicationEvent
cmdlet subskrybuje wskazania przy użyciu nazwy klasy oznaczania lub wyrażenia zapytania. Użyj parametru SourceIdentifier nadaj nazwę subskrypcji.
To polecenie cmdlet zwraca obiekt EventSubscription . Tego obiektu można użyć do anulowania subskrypcji.
Przykłady
Przykład 1. Rejestrowanie zdarzeń wygenerowanych przez klasę
W tym przykładzie subskrybuje zdarzenia wygenerowane przez klasę o nazwie Win32_ProcessStartTrace. Ta klasa zgłasza zdarzenie za każdym razem, gdy rozpocznie się proces.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Get-Event -SourceIdentifier "ProcessStarted"
Polecenie Get-Event
cmdlet pobiera zdarzenia z subskrypcją ProcessStarted . Aby uzyskać więcej informacji, zobacz Get-Event.
Uwaga
W tym przykładzie musisz uruchomić program PowerShell jako administrator.
Przykład 2. Rejestrowanie zdarzeń przy użyciu zapytania
W tym przykładzie użyto zapytania do subskrybowania zdarzenia wygenerowanego za każdym razem, gdy wystąpi zmiana klasy o nazwie Win32_LocalTime.
$query = "SELECT * FROM CIM_InstModification WHERE TargetInstance ISA 'Win32_LocalTime'"
Register-CimIndicationEvent -Query $query -SourceIdentifier "Timer"
Przykład 3. Uruchamianie skryptu po nadejściu zdarzenia
W tym przykładzie pokazano, jak używać akcji w odpowiedzi na zdarzenie. Zmienna $action
przechowuje blok skryptu dla akcji, który używa zmiennej $event
w celu uzyskania dostępu do zdarzenia odebranego z modelu CIM.
$action = {
$name = $event.SourceEventArgs.NewEvent.ProcessName
$id = $event.SourceEventArgs.NewEvent.ProcessId
Write-Host -Object "New Process Started : Name = $name
ID = $id"
}
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -Action $action
Aby uzyskać więcej informacji, zobacz Win32_ProcessStartTrace.
Przykład 4. Rejestrowanie zdarzeń na komputerze zdalnym
Ten przykład subskrybuje zdarzenia na komputerze zdalnym o nazwie Server01. Zdarzenia odebrane z serwera CIM są przechowywane w kolejce zdarzeń w bieżącej sesji programu PowerShell, a następnie uruchamia lokalne Get-Event
w celu pobrania zdarzeń.
Register-CimIndicationEvent -ClassName 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted" -ComputerName Server01
Get-Event -SourceIdentifier "ProcessStarted"
Parametry
-Action
Określa polecenia obsługujące zdarzenia. Polecenia określone przez ten parametr są uruchamiane po wystąpieniu zdarzenia zamiast wysyłania zdarzenia do kolejki zdarzeń. Dołącz polecenia w nawiasach klamrowych ({}
), aby utworzyć blok skryptu.
Blok skryptu określony za pomocą akcji może zawierać $Event
zmienne , , $EventSubscriber
$Sender
, $SourceEventArgs
i $SourceArgs
automatyczne, które dostarczają informacje o zdarzeniu do bloku skryptu akcji. Aby uzyskać więcej informacji, zobacz About Automatic Variables (Informacje o zmiennych automatycznych).
Typ: | ScriptBlock |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-CimSession
Uruchamia polecenie przy użyciu określonej sesji modelu CIM. Wprowadź zmienną zawierającą sesję modelu CIM lub polecenie, które tworzy lub pobiera sesję modelu CIM, na przykład New-CimSession
polecenia cmdlet lub Get-CimSession
. Aby uzyskać więcej informacji, zobacz about_CimSession.
Typ: | CimSession |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ClassName
Określa klasę wskazania, do której subskrybujesz. Aby przeglądać listę klas, można użyć uzupełniania tabulatorów, ponieważ program PowerShell pobiera listę klas z lokalnego serwera WMI, aby podać listę nazw klas.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-ComputerName
Określa nazwę komputera, na którym chcesz uruchomić operację CIM. Można określić w pełni kwalifikowaną nazwę domeny (FQDN), nazwę NetBIOS lub adres IP.
Jeśli określisz ten parametr, polecenie cmdlet utworzy sesję tymczasową na określonym komputerze przy użyciu protokołu WsMan. Jeśli nie określisz tego parametru, polecenie cmdlet wykonuje operację w systemie lokalnym przy użyciu modelu obiektów składników (COM).
Jeśli na tym samym komputerze jest wykonywanych wiele operacji, połącz się przy użyciu sesji modelu CIM, aby uzyskać lepszą wydajność.
Typ: | String |
Aliasy: | CN, ServerName |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Forward
Wskazuje, że zdarzenia dla subskrypcji są przekazywane do sesji na komputerze lokalnym. Użyj tego parametru podczas rejestrowania zdarzeń na komputerze zdalnym lub w sesji zdalnej.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-MaxTriggerCount
Parametr wskazujący, że subskrybent powinien być automatycznie wyrejestrowany po wyzwoleniu przez określony czas. Jeśli wartość jest równa lub mniejsza niż zero, nie ma limitu liczby przypadków wyzwolenia zdarzenia bez wyrejestrowania.
Typ: | Int32 |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-MessageData
Określa wszelkie dodatkowe dane do skojarzenia z tą subskrypcją zdarzeń. Wartość tego parametru jest wyświetlana we właściwości MessageData wszystkich zdarzeń skojarzonych z tą subskrypcją.
Typ: | PSObject |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Namespace
Określa przestrzeń nazw dla operacji CIM. Domyślna przestrzeń nazw to root/cimv2. Za pomocą uzupełniania karty można przeglądać listę przestrzeni nazw, ponieważ program PowerShell pobiera listę przestrzeni nazw z lokalnego serwera WMI w celu udostępnienia listy przestrzeni nazw.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-OperationTimeoutSec
Określa czas oczekiwania polecenia cmdlet na odpowiedź z komputera. Domyślnie wartość tego parametru to 0, co oznacza, że polecenie cmdlet używa domyślnej wartości limitu czasu dla serwera.
Jeśli parametr OperationTimeoutSec jest ustawiony na wartość mniejszą niż limit czasu ponawiania próby niezawodnego połączenia przez 3 minuty, awarie sieci, które trwają dłużej niż wartość parametru OperationTimeoutSec, nie są możliwe do odzyskania, ponieważ operacja na serwerze przekracza limit czasu, zanim klient będzie mógł ponownie nawiązać połączenie.
Typ: | UInt32 |
Aliasy: | OT |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Query
Określa zapytanie do uruchomienia na serwerze CIM. Jeśli określona wartość zawiera podwójne cudzysłowy "
, pojedyncze cudzysłowy '
lub ukośnik \
odwrotny, należy je użyć, prefiksując je znakiem ukośnika odwrotnego. Jeśli określona wartość używa operatora LIKE WQL, należy użyć następujących znaków, ujęcie ich w nawiasy kwadratowe []
: procent %
, podkreślenie _
lub otwierając nawias [
kwadratowy .
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-QueryDialect
Określa język zapytań używany dla parametru Query . Dopuszczalne wartości tego parametru to: WQL lub CQL. Wartość domyślna to WQL.
Typ: | String |
Position: | Named |
Domyślna wartość: | WQL |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SourceIdentifier
Określa nazwę subskrypcji. Określona nazwa musi być unikatowa w bieżącej sesji. Wartość domyślna to identyfikator GUID przypisywany przez program PowerShell. Ta wartość jest wyświetlana w wartości właściwości SourceIdentifier obiektu subskrybenta i wszystkich obiektów zdarzeń skojarzonych z tą subskrypcją.
Typ: | String |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SupportEvent
Wskazuje, że subskrypcja zdarzeń jest ukryta. Użyj tego parametru, gdy bieżąca subskrypcja jest częścią bardziej złożonego mechanizmu rejestracji zdarzeń i nie powinna być odnajdywane niezależnie.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca obiekt EventSubscription .