Udostępnij za pośrednictwem


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ć $Eventzmienne , , $EventSubscriber$Sender, $SourceEventArgsi $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

Object

To polecenie cmdlet zwraca obiekt EventSubscription .