Udostępnij przez


Register-CimIndicationEvent

Subskrybuj wskazania przy użyciu wyrażenia filtru lub wyrażenia zapytania.

Składnia

ClassNameComputerSet (Domyślna)

Register-CimIndicationEvent
    [-ClassName] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

ClassNameSessionSet

Register-CimIndicationEvent
    [-ClassName] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    -CimSession <CimSession>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

QueryExpressionSessionSet

Register-CimIndicationEvent
    [-Query] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    -CimSession <CimSession>
    [-Namespace <String>]
    [-QueryDialect <String>]
    [-OperationTimeoutSec <UInt32>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

QueryExpressionComputerSet

Register-CimIndicationEvent
    [-Query] <String>
    [[-SourceIdentifier] <String>]
    [[-Action] <ScriptBlock>]
    [-Namespace <String>]
    [-QueryDialect <String>]
    [-OperationTimeoutSec <UInt32>]
    [-ComputerName <String>]
    [-MessageData <PSObject>]
    [-SupportEvent]
    [-Forward]
    [-MaxTriggerCount <Int32>]
    [<CommonParameters>]

Opis

Ten cmdlet jest dostępny tylko na platformie Windows.

Polecenie cmdlet Register-CimIndicationEvent subskrybuje wskaźniki, używając nazwy klasy wskaźnika 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 się zdarzenia wygenerowane przez klasę o nazwie Win32_ProcessStartTrace. Ta klasa zgłasza zdarzenie za każdym razem, gdy rozpocznie się proces.

$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
}
Register-CimIndicationEvent @event
Get-Event -SourceIdentifier "ProcessStarted"

Polecenie cmdlet Get-Event pobiera zdarzenia z subskrypcji ProcessStarted. Aby uzyskać więcej informacji, zobacz Get-Event.

Uwaga / Notatka

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 CIM.

$action = {
  $name = $Event.SourceEventArgs.NewEvent.ProcessName
  $id = $Event.SourceEventArgs.NewEvent.ProcessId
  Write-Host -Object "New Process Started : Name = $name ID = $id"
}
$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    Action = $action
}
Register-CimIndicationEvent @event

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 uruchamiane jest lokalne Get-Event w celu pobrania zdarzeń.

$event = @{
    ClassName = 'Win32_ProcessStartTrace'
    SourceIdentifier = 'ProcessStarted'
    ComputerName = 'Server01'
}
Register-CimIndicationEvent @event
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ą Action może zawierać $Event, $EventSubscriber, $Sender, $SourceEventArgsi $SourceArgs zmiennych automatycznych, które dostarczają informacje o zdarzeniu do bloku skryptu Akcja. Aby uzyskać więcej informacji, zobacz Informacje o zmiennych automatycznych.

Właściwości parametru

Typ:ScriptBlock
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:1
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-CimSession

Uruchamia polecenie przy użyciu określonej sesji CIM. Wprowadź zmienną zawierającą sesję modelu CIM lub polecenie, które tworzy lub pobiera sesję modelu CIM, na przykład polecenia cmdlet New-CimSession lub Get-CimSession. Aby uzyskać więcej informacji, zobacz about_CimSession.

Właściwości parametru

Typ:CimSession
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

ClassNameSessionSet
Position:Named
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
QueryExpressionSessionSet
Position:Named
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-ClassName

Określa klasę wskazania, do której subskrybujesz. Można użyć uzupełniania za pomocą tabulatora, aby przeglądać listę klas, ponieważ PowerShell pobiera spis klas z lokalnego serwera WMI, aby wyświetlić listę ich nazw.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

ClassNameComputerSet
Position:0
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
ClassNameSessionSet
Position:0
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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 CIM, aby uzyskać lepszą wydajność.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:CN, NazwaSerwera

Zestawy parametrów

ClassNameComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
QueryExpressionComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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 ograniczeń co do liczby wywołań zdarzenia bez jego wyrejestrowania.

Właściwości parametru

Typ:Int32
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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ą.

Właściwości parametru

Typ:PSObject
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Namespace

Określa przestrzeń nazw dla operacji CIM. Domyślna przestrzeń nazw to root/CIMV2. Za pomocą uzupełniania za pomocą klawisza Tab można przeglądać listę przestrzeni nazw, ponieważ PowerShell pobiera listę przestrzeni nazw z lokalnego serwera WMI w celu udostępnienia listy przestrzeni nazw.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-OperationTimeoutSec

Określa czas, przez który polecenie cmdlet czeka na odpowiedź od 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.

Właściwości parametru

Typ:UInt32
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:OT

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-Query

Określa zapytanie do uruchomienia na serwerze CIM. Jeśli określona wartość zawiera cudzysłowy podwójne ", apostrofy 'lub ukośnik odwrotny \, należy poprzedzić te znaki znakiem ukośnika odwrotnego. Jeśli określona wartość używa operatora LIKE WQL, musisz zabezpieczyć następujące znaki, ujmując je w nawiasy kwadratowe: []procent %, podkreślenie _lub otwierający nawias kwadratowy [.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

QueryExpressionSessionSet
Position:0
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
QueryExpressionComputerSet
Position:0
Obowiązkowy:True
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:String
Domyślna wartość:WQL
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

QueryExpressionSessionSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False
QueryExpressionComputerSet
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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. Wartość ta pojawia się w wartości SourceIdentifier właściwości obiektu subskrybenta oraz wszystkich obiektów zdarzeń powiązanych z tą subskrypcją.

Właściwości parametru

Typ:String
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:1
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów: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.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:Named
Obowiązkowy:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

None

Nie można przekazywać obiektów do tego cmdletu.

Dane wyjściowe

Object

To polecenie cmdlet zwraca obiekt EventSubscription.

Uwagi

Program PowerShell zawiera następujące aliasy dla Register-CimIndicationEvent:

  • Windows:
    • rcie

Ten cmdlet jest dostępny tylko na platformach Windows.