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_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Varsayı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.

İlgili makaleler