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.