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
To polecenie cmdlet jest dostępne tylko na platformie Windows.
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ę
Ten przykład 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 w wystąpieniu 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 uruchamiają lokalne Get-Event
polecenie 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ń. Należy ująć polecenia w nawiasy klamrowe ({}
), 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).
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 ciągłej integracji, takie jak New-CimSession
polecenia cmdlet lub Get-CimSession
. Aby uzyskać więcej informacji, zobacz about_CimSession.
Type: | CimSession |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ClassName
Określa klasę wskazania, do której subskrybujesz. Aby przeglądać listę klas, można użyć uzupełniania kart, ponieważ program PowerShell pobiera listę klas z lokalnego serwera WMI, aby podać listę nazw klas.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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, nawiąż połączenie przy użyciu sesji ciągłej integracji, aby uzyskać lepszą wydajność.
Type: | String |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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ą.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Namespace
Określa przestrzeń nazw dla operacji CIM. Domyślna przestrzeń nazw to root/cimv2. Możesz użyć uzupełniania kart, aby przeglądać listę przestrzeni nazw, ponieważ program PowerShell pobiera listę przestrzeni nazw z lokalnego serwera WMI w celu udostępnienia listy przestrzeni nazw.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 3 minuty, błędy sieci, które trwają dłużej niż wartość parametru OperationTimeoutSec , nie można odzyskać, ponieważ operacja na serwerze przekracza limit czasu, zanim klient będzie mógł ponownie nawiązać połączenie.
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Query
Określa zapytanie do uruchomienia na serwerze MODELU CIM. Jeśli określona wartość zawiera cudzysłowy "
podwójne , apostrofy '
lub ukośnik \
odwrotny, należy użyć ucieczki tych znaków, poprzedzają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ący nawias [
kwadratowy .
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String |
Position: | Named |
Default value: | WQL |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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ą.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
None
To polecenie cmdlet nie akceptuje żadnych obiektów wejściowych.
Dane wyjściowe
To polecenie cmdlet zwraca obiekt EventSubscription .