Register-WmiEvent
Bir Windows Yönetim Araçları (WMI) olayına abone olur.
Syntax
class (Varsayılan)
Register-WmiEvent
[-Class] <String>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-Namespace <String>]
[-Credential <PSCredential>]
[-ComputerName <String>]
[-Timeout <Int64>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
query
Register-WmiEvent
[-Query] <String>
[[-SourceIdentifier] <String>]
[[-Action] <ScriptBlock>]
[-Namespace <String>]
[-Credential <PSCredential>]
[-ComputerName <String>]
[-Timeout <Int64>]
[-MessageData <PSObject>]
[-SupportEvent]
[-Forward]
[-MaxTriggerCount <Int32>]
[<CommonParameters>]
Description
Register-WmiEvent cmdlet'i yerel bilgisayardaki veya uzak bilgisayardaki Windows Yönetim Araçları (WMI) olaylarına abone olur.
Abone olunan WMI olayı tetiklendiğinde, olay uzak bir bilgisayarda gerçekleşse bile yerel oturumunuzda olay kuyruğuna eklenir. Olay kuyruğundaki olayları almak için Get-Event cmdlet'ini kullanın.
uzak bilgisayarlardaki olaylara abone olmak ve kuyruktaki olayı tanımlamanıza yardımcı olabilecek olayların özellik değerlerini belirtmek için Register-WmiEvent parametrelerini kullanabilirsiniz. Abone olunan bir olay tetiklendiğinde yapılması gereken eylemleri belirtmek için Eylem parametresini de kullanabilirsiniz.
Bir olaya abone olduğunuzda, oturumunuza bir olay abonesi eklenir. Oturumdaki olay abonelerini almak için Get-EventSubscriber cmdlet'ini kullanın. Aboneliği iptal etmek için, olay abonesini oturumdan silen Unregister-Event cmdlet'ini kullanın.
Windows PowerShell 3.0 ile sunulan yeni Ortak Bilgi Modeli (CIM) cmdlet'leri WMI cmdlet'leriyle aynı görevleri gerçekleştirir. CIM cmdlet'leri, WS-Management (WSMan) standartlarına ve cmdlet'lerin Windows işletim sistemini çalıştıran bilgisayarları ve diğer işletim sistemlerini çalıştıran bilgisayarları yönetmek için aynı teknikleri kullanmasına olanak tanıyan CIM standardıyla uyumludur.
Register-WmiEventkullanmak yerine Register-CimIndicationEvent cmdlet'ini kullanmayı düşünün.
Örnekler
Örnek 1: Sınıf tarafından oluşturulan olaylara abone olma
Bu komut, Win32_ProcessStartTrace sınıfı tarafından oluşturulan olaylara abonedir. Bu sınıf, bir işlem her başlatıldığında bir olay oluşturur.
Register-WmiEvent -Class 'Win32_ProcessStartTrace' -SourceIdentifier "ProcessStarted"
Örnek 2: İşlem için oluşturma olaylarına abone olma
Bu komut, Win32_process örnek oluşturma olaylarına abone olmak için bir sorgu kullanır.
$wmiParameters = @{
Query = "select * from __instancecreationevent within 5 where targetinstance isa 'Win32_Process'"
SourceIdentifier = "WMIProcess"
MessageData = "Test 01"
TimeOut = 500
}
Register-WmiEvent @wmiParameters
Örnek 3: Bir olaya yanıt vermek için eylem kullanma
Bu örnekte, bir olaya yanıt vermek için eylemin nasıl kullanılacağı gösterilmektedir. Bu durumda, bir işlem başladığında, geçerli oturumdaki tüm Start-Process komutları bir XML dosyasına yazılır.
$action = {
Get-History |
Where-Object { $_.CommandLine -like "*Start-Process*" } |
Export-CliXml "commandHistory.clixml"
}
Register-WmiEvent -Class Win32_ProcessStartTrace -SourceIdentifier ProcessStarted -Action $action
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
1 ProcessStarted NotStarted False Get-History | where {...
Eylemi parametresini kullandığınızda, Register-WmiEvent olay eylemini temsil eden bir arka plan işi döndürür. Olay işini yönetmek için ve Get-Jobgibi Receive-Job cmdlet'lerini kullanabilirsiniz.
Daha fazla bilgi için bkz. about_Jobs.
Örnek 4: Uzak bilgisayardaki olaylara kaydolma
Bu örnek, Server01 uzak bilgisayarındaki olaylar için kaydolr.
Register-WmiEvent -Class 'Win32_ProcessStartTrace' -SourceIdentifier "Start" -ComputerName Server01
Get-Event -SourceIdentifier "Start"
WMI olayları yerel bilgisayara döndürür ve geçerli oturumdaki olay kuyruğunda depolar. Olayları almak için yerel bir Get-Event komutu çalıştırın.
Parametreler
-Action
Olayları işleyen komutları belirtir.
Eylemi parametresindeki komutlar, olayı olay kuyruğuna göndermek yerine bir olay tetiklendiğinde çalıştırılır. Komut dosyası bloğu oluşturmak için komutları küme ayraçları ({}) içine yerleştirin.
Eylem değeri, $Event betik bloğuna olay hakkında bilgi sağlayan $EventSubscriber, $Sender, $EventArgs, $argsve otomatik değişkenleri içerebilir. Daha fazla bilgi için bkz. about_Automatic_Variables.
Bir eylem belirttiğinizde, Register-WmiEvent bu eylemi temsil eden bir olay işi nesnesi döndürür. Olay işini yönetmek için İşi adlarını (İşi cmdlet'leri) içeren cmdlet'leri kullanabilirsiniz.
Parametre özellikleri
| Tür: | ScriptBlock |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 101 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Class
Abone olduğunuz olayı belirtir. Olayları oluşturan WMI sınıfını girin. Her komutta Sınıf veya Sorgu parametresi gerekir.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
class
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-ComputerName
Komutun üzerinde çalıştığı bilgisayarın adını belirtir. Varsayılan değer yerel bilgisayardır.
NetBIOS adını, IP adresini veya bilgisayarın tam etki alanı adını yazın. Yerel bilgisayarı belirtmek için bilgisayar adını, bir nokta (.) veya localhost yazın.
Bu parametre Windows PowerShell uzaktan iletişimini kullanmaz. Bilgisayarınız uzak komutları çalıştıracak şekilde yapılandırılmamış olsa bile ComputerName parametresini kullanabilirsiniz.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | Cn |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Credential
Bu eylemi gerçekleştirme iznine sahip bir kullanıcı hesabı belirtir. Varsayılan değer mevcut kullanıcıdır.
User01 veya Domain01\User01 gibi bir kullanıcı adı yazın veya cmdlet'i tarafından oluşturulan nesne gibi Get-Credential nesnesi girin. Bir kullanıcı adı yazarsanız, bu cmdlet sizden parola ister.
Parametre özellikleri
| Tür: | PSCredential |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Forward
Bu cmdlet'in bu abonelik için olayları yerel bilgisayardaki oturuma gönderdiğini gösterir. Uzak bir bilgisayarda veya uzak bir oturumda olaylara kaydolırken bu parametreyi kullanın.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-MaxTriggerCount
En fazla tetikleyici sayısını belirtir.
Parametre özellikleri
| Tür: | Int32 |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-MessageData
Bu olay aboneliğiyle ilişkilendirilecek ek verileri belirtir. Bu parametrenin değeri, bu abonelikle ilişkili tüm olayların MessageData özelliğinde görünür.
Parametre özellikleri
| Tür: | PSObject |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Namespace
WMI sınıfının ad alanını belirtir.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | NS |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Query
WMI Sorgu Dili'nde (WQL) WMI olay sınıfını tanımlayan bir sorgu belirtir; örneğin: select * from __InstanceDeletionEvent.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
query
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-SourceIdentifier
Abonelik için seçtiğiniz bir adı belirtir. Seçtiğiniz ad geçerli oturumda benzersiz olmalıdır. Varsayılan değer, Windows PowerShell'in atadığını GUID'dir.
Bu parametrenin değeri, abone nesnesinin SourceIdentifier özelliğinin ve bu abonelikle ilişkili tüm olay nesnelerinin değerinde görünür.
Parametre özellikleri
| Tür: | String |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 100 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-SupportEvent
Bu cmdlet'in olay aboneliğini gizlediğini gösterir. Geçerli abonelik daha karmaşık bir olay kayıt mekanizmasının parçası olduğunda ve bağımsız olarak keşfedilmemesi gerektiğinde bu parametreyi kullanın.
SupportEvent parametresi kullanılarak oluşturulan bir aboneliği görüntülemek veya iptal etmek için ve Get-EventSubscriber cmdlet'lerinin Unregister-Event parametresini belirtin.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Timeout
Windows PowerShell'in bu komutun ne kadar süreyle bitmesini bekleyeceğini belirtir.
Varsayılan değer olan 0 (sıfır), zaman aşımı olmadığı anlamına gelir ve Windows PowerShell'in süresiz olarak beklemesine neden olur.
Parametre özellikleri
| Tür: | Int64 |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
| Diğer adlar: | TimeoutMSec |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
None
Nesneleri bu cmdlet'e yöneltemezsiniz.
Çıkışlar
None
Bu cmdlet herhangi bir çıkış oluşturmaz.
Notlar
Bu cmdlet'i Windows Vista'da veya Windows işletim sisteminin sonraki bir sürümünde kullanmak için, Yönetici olarak çalıştır seçeneğini kullanarak Windows PowerShell'i başlatın.
Olaylar, olay abonelikleri ve olay kuyruğu yalnızca geçerli oturumda bulunur. Mevcut oturumu kapatırsanız, etkinlik kuyruğu silinir ve etkinlik aboneliği iptal edilir.