Invoke-CimMethod (CimCmdlet'ler)
Invoke-CimMethod
- Modül:
- CimCmdlets
Bir CIM sınıfının yöntemini çağırır.
Sözdizimi
Invoke-CimMethod
[-ClassName] <String>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Invoke-CimMethod
[-ClassName] <String>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Invoke-CimMethod
-ResourceUri <Uri>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Invoke-CimMethod
[-ResourceUri <Uri>]
[-InputObject] <CimInstance>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Invoke-CimMethod
-ResourceUri <Uri>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Invoke-CimMethod
[-CimClass] <CimClass>
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Invoke-CimMethod
[-CimClass] <CimClass>
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
[-ComputerName <String[]>]
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Invoke-CimMethod
-Query <String>
[-QueryDialect <String>]
-CimSession <CimSession[]>
[[-Arguments] <IDictionary>]
[-MethodName] <String>
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Tanım
Bu cmdlet yalnızca Windows platformunda mevcuttur.
Invoke-CimMethod cmdlet'i, Arguments parametresi tarafından belirtilen ad-değer çiftlerini kullanarak bir CIM sınıfının veya CIM örneğinin yöntemini çağırır.
InputObject parametresi belirtilmezse cmdlet aşağıdaki yollardan biriyle çalışır:
- Ne BilgisayarAdı parametresi ne de CimSession parametresi belirtilmezse bu cmdlet, Bileşen Nesne Modeli (COM) oturumunu kullanarak yerel Windows Yönetim Araçları (WMI) üzerinde çalışır.
- BilgisayarAdı parametresi veya CimSession parametresinden biri belirtilirse bu cmdlet, BilgisayarAdı parametresi veya < ile belirtilen CIM sunucusunda çalışır.CimSession parametresi.
InputObject parametresi belirtilirse cmdlet aşağıdaki yollardan biriyle çalışır:
- ComputerName parametresi veya CimSession parametresi belirtilmemişse bu cmdlet, giriş nesnesindeki CIM oturumunu veya bilgisayar adını kullanır.
- BilgisayarAdı parametresi veya CimSession parametresinden biri belirtilirse bu cmdlet, CimSession parametre değerini veya BilgisayarAdı<'nı kullanır. parametre değeri. Bu yaygın bir senaryo değil.
Örnekler
Örnek 1: Bir yöntemi çağırma
Bu örnek, Win32_Process sınıfının Terminate yöntemini çağırır.
Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"Örnek 2: CIM örnek nesnesini kullanarak bir yöntemi çağırma
Bu örnek, CIM örneği nesnesini alır ve onu Get-CimInstance cmdlet'ini kullanarak $x adlı bir değişkende saklar. Değişkenin içeriği daha sonra Invoke-CimMethod cmdlet'i için InputObject olarak kullanılır. CimInstance için GetOwner yöntemi çağrılır.
$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwnerÖrnek 3: Bağımsız değişkenleri kullanarak statik bir yöntemi çağırma
Bu örnek, Arguments parametresi kullanılarak adlandırılan Create yöntemini çağırır.
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{
CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32"
}Örnek 4: İstemci tarafı doğrulama
Bu örnek, CimClass nesnesini Invoke-CimMethod'a ileterek xyz yöntemi için istemci tarafı doğrulaması gerçekleştirir.
$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }Parametreler
-Arguments
Çağrılan yönteme aktarılacak parametreleri belirtir. Bu parametrenin değerlerini karma tablosunda saklanan ad-değer çiftleri olarak belirtin. Girilen değerlerin sırası önemli değildir.
- Tip :
Sözlük
- Konum:
1
- Varsayılan değer:
None
- Gerekli:
False
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
-
False
-CimClass
Sunucudaki bir CIM sınıfı tanımını temsil eden bir CIM sınıfı nesnesini belirtir. Bir sınıfın statik yöntemini çağırırken bu parametreyi kullanın.
Sunucudan bir sınıf tanımı almak için Get-CimClass cmdlet'ini kullanabilirsiniz.
Bu parametrenin kullanılması, istemci tarafı şema doğrulamalarının daha iyi olmasını sağlar.
- Tip :
CimClass
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-CimSession
Belirtilen CIM oturumunu kullanarak komutu çalıştırır. CIM oturumunu içeren bir değişken veya New-CimSession veya Get-CimSession cmdlet'leri gibi CIM oturumunu oluşturan veya alan bir komut girin. Daha fazla bilgi için bkz. about_CimSession.
- Tip :
CimOturumu[]
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-ClassName
İşlemin gerçekleştirileceği CIM sınıfının adını belirtir. Bu parametre yalnızca statik yöntemler için kullanılır. PowerShell, sınıf adlarının bir listesini sağlamak için yerel WMI sunucusundan sınıfların bir listesini aldığından, sınıf listesine göz atmak için sekme tamamlamayı kullanabilirsiniz.
- Tip :
String
- Takma adlar:
Class
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-ComputerName
CIM işlemini çalıştırmak istediğiniz bilgisayarın adını belirtir. Tam nitelikli bir etki alanı adı (FQDN), bir NetBIOS adı veya bir IP adresi belirtebilirsiniz.
Bu parametre kullanıldığında cmdlet, WsMan protokolünü kullanarak belirtilen bilgisayarda geçici bir oturum oluşturur. Aksi takdirde cmdlet, yerel bilgisayarda Bileşen Nesne Modeli'ni (COM) kullanarak işlemi gerçekleştirir.
Aynı bilgisayarda birden fazla işlem gerçekleştirilirken daha iyi performans için bir CIM oturumu kullanarak bağlanın.
- Tip :
String[]
- Takma adlar:
CN, ServerName
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
False
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister.
- Tip :
SwitchParameter
- Takma adlar:
cf
- Konum:
Adlandırılmış
- Varsayılan değer:
False
- Gerekli:
False
- Boru hattı girişini kabul edin:
False
- Joker karakterleri kabul et:
False
-InputObject
Bir yöntemi çağırmak için giriş olarak kullanılacak bir CIM örneği nesnesini belirtir. Bu parametre yalnızca örnek yöntemleri çağırmak için kullanılabilir. Sınıf statik yöntemlerini çağırmak için Class parametresini veya CimClass parametresini kullanın.
- Tip :
CimInstance
- Takma adlar:
CimInstance
- Konum:
0
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-MethodName
Çağrılacak CIM yönteminin adını belirtir. Bu parametre zorunludur ve null veya boş olamaz. Bir CIM sınıfının statik yöntemini çağırmak için ClassName veya CimClass parametresini kullanın.
- Tip :
String
- Takma adlar:
Name
- Konum:
2
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-Namespace
CIM işleminin ad alanını belirtir. Varsayılan ad alanı root/cimv2'dir. PowerShell, ad alanlarının listesini sağlamak için yerel WMI sunucusundan ad alanlarının bir listesini aldığından, ad alanları listesine göz atmak için sekme tamamlamayı kullanabilirsiniz.
- Tip :
String
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
False
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-OperationTimeoutSec
Cmdlet'in bilgisayardan yanıt almak için bekleyeceği süreyi belirtir. Varsayılan olarak değer 0'dır; bu, cmdlet'in sunucu için varsayılan zaman aşımı değerini kullandığı anlamına gelir.
OperationTimeoutSec parametresi, varsayılan bağlantı yeniden deneme zaman aşımı olan 3 dakikadan daha düşük bir değere ayarlanırsa, OperationTimeoutSec parametresinin değerinden daha uzun süren ağ hataları kurtarılamaz.
- Tip :
UInt32
- Takma adlar:
OT
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
False
- Boru hattı girişini kabul edin:
False
- Joker karakterleri kabul et:
False
-Query
CIM sunucusunda çalıştırılacak bir sorguyu belirtir. Sorgu sonucunda alınan örnekler üzerinde bir yöntem çağrılır. QueryDialect parametresini kullanarak sorgu lehçesini belirtebilirsiniz.
Belirtilen değer çift tırnak ("), tek tırnak (') veya ters eğik çizgi (\) içeriyorsa, bu karakterlerden kaçmanız gerekir Belirtilen değer WQL LIKE operatörünü kullanıyorsa, aşağıdaki karakterleri köşeli parantez ([]): yüzde (%), alt çizgi (_) veya açılan köşeli parantez ([).
- Tip :
String
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
True
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-QueryDialect
Sorgu parametresi için kullanılan sorgu dilini belirtir. Bu parametre için kabul edilebilir değerler şunlardır: WQL veya CQL.
Varsayılan değer WQL'dir.
- Tip :
String
- Konum:
Adlandırılmış
- Varsayılan değer:
WQL
- Gerekli:
False
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-ResourceUri
Kaynak sınıfının veya örneğinin kaynak tek tip kaynak tanımlayıcısını (URI) belirtir. URI, bilgisayardaki diskler veya işlemler gibi belirli bir kaynak türünü tanımlamak için kullanılır.
Bir URI, bir önek ve bir kaynağa giden yoldan oluşur. Örneğin:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDiskhttp://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettingsVarsayılan olarak, bu parametreyi belirtmezseniz DMTF standart kaynak URI'si http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ kullanılır ve sınıf adı ona eklenir.
ResourceURI yalnızca WSMan protokolü kullanılarak oluşturulan CIM oturumlarıyla veya WSMan kullanarak bir CIM oturumu oluşturan ComputerName parametresi belirtilirken kullanılabilir.
Bu parametreyi BilgisayarAdı parametresini belirtmeden belirttiğinizde veya DCOM protokolü kullanılarak oluşturulmuş bir CIM oturumu belirttiğinizde hata alırsınız. DCOM protokolü ResourceURI parametresini desteklemiyor.
Hem ResourceUri parametresi hem de Filter parametresi belirtilirse Filter parametresi yoksayılır.
- Tip :
Uri
- Konum:
Adlandırılmış
- Varsayılan değer:
None
- Gerekli:
False
- Boru hattı girişini kabul edin:
True
- Joker karakterleri kabul et:
False
-WhatIf
Cmdlet çalıştırılırsa ne olacağını gösterir. Cmdlet çalıştırılmıyor.
- Tip :
SwitchParameter
- Takma adlar:
wi
- Konum:
Adlandırılmış
- Varsayılan değer:
False
- Gerekli:
False
- Boru hattı girişini kabul edin:
False
- Joker karakterleri kabul et:
False
Girişler
CimClass
Bu cmdlet'e bir CIM sınıfı aktarabilirsiniz.
CimInstance
Bir CIM örneğini bu cmdlet'e aktarabilirsiniz.
Çıkışlar
PSCustomObject
Bu cmdlet bir nesne döndürür.
Notlar
PowerShell, Invoke-CimMethod için aşağıdaki takma adları içerir:
Windows:
icim
Bu cmdlet yalnızca Windows platformlarında kullanılabilir.