Aracılığıyla paylaş


Invoke-CimMethod

CIM sınıfının yöntemini çağırır.

Syntax

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>]

Description

Bu cmdlet yalnızca Windows platformunda kullanılabilir.

cmdlet, Invoke-CimMethod Arguments parametresi tarafından belirtilen ad-değer çiftlerini kullanarak 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:

  • ComputerName parametresi veya CimSession parametresi belirtilmezse, bu cmdlet bir Bileşen Nesne Modeli (COM) oturumu kullanarak yerel Windows Yönetim Araçları'nda (WMI) çalışır.
  • ComputerName parametresi veya CimSession parametresi belirtilirse, bu cmdlet ComputerName parametresi veya CimSession parametresi tarafından belirtilen CIM sunucusunda çalışır.

InputObject parametresi belirtilirse, cmdlet aşağıdaki yollardan biriyle çalışır:

  • ComputerName parametresi veya CimSession parametresi belirtilmezse, bu cmdlet giriş nesnesinden CIM oturumunu veya bilgisayar adını kullanır.
  • ComputerName parametresi veya CimSession parametresi belirtilirse, bu cmdlet CimSession parametre değerini veya ComputerName parametre değerini kullanır. Bu yaygın bir senaryo değildir.

Örnekler

Örnek 1: Yöntem ç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 yöntem çağırma

Bu örnek CIM örneği nesnesini alır ve cmdlet'ini kullanarak adlı $x bir değişkende Get-CimInstance depolar. Değişkenin içeriği daha sonra cmdlet'i için Invoke-CimMethod 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 yöntem çağırma

Bu örnek, Arguments parametresini kullanarak adlı 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, bir CimClass nesnesini Invoke-CimMethodöğesine geçirerek 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 geçirecek parametreleri belirtir. Bu parametrenin değerlerini bir karma tabloda depolanan ad-değer çiftleri olarak belirtin. Girilen değerlerin sırası önemli değildir.

Type:IDictionary
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-CimClass

Sunucudaki CIM sınıf tanımını temsil eden bir CIM sınıf nesnesi belirtir. Bir sınıfın statik yöntemini çağırırken bu parametreyi kullanın.

Sunucudan Get-CimClass bir sınıf tanımı almak için cmdlet'ini kullanabilirsiniz.

Bu parametrenin kullanılması daha iyi istemci tarafı şema doğrulamalarıyla sonuçlanır.

Type:CimClass
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-CimSession

Belirtilen CIM oturumunu kullanarak komutunu çalıştırır. CIM oturumunu içeren bir değişken veya VEYA cmdlet'leri gibi CIM oturumunu New-CimSession oluşturan veya Get-CimSession alan bir komut girin. Daha fazla bilgi için bkz . about_CimSession.

Type:CimSession[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ClassName

İşlemin gerçekleştirildiğ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 listesini sağlamak için yerel WMI sunucusundan sınıfların listesini aldığından, sınıf listesine göz atmak için sekme tamamlama özelliğini kullanabilirsiniz.

Type:String
Aliases:Class
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

CIM işlemini çalıştırmak istediğiniz bilgisayarın adını belirtir. Tam etki alanı adı (FQDN), NetBIOS adı veya IP adresi belirtebilirsiniz.

Bu parametreyi kullanırken, cmdlet WsMan protokolunu kullanarak belirtilen bilgisayarda geçici bir oturum oluşturur. Aksi takdirde, cmdlet işlemi Bileşen Nesne Modeli (COM) kullanarak yerel bilgisayarda gerçekleştirir.

Aynı bilgisayarda birden çok işlem gerçekleştirilirken daha iyi performans için CIM oturumu kullanarak Bağlan.

Type:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Bir yöntemi çağırmak için giriş olarak kullanılacak bir CIM örneği nesnesi belirtir. Bu parametre yalnızca örnek yöntemlerini çağırmak için kullanılabilir. Sınıf statik yöntemlerini çağırmak için Class parametresini veya CimClass parametresini kullanın.

Type:CimInstance
Aliases:CimInstance
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MethodName

Çağrılacak CIM yönteminin adını belirtir. Bu parametre zorunludur ve null veya boş olamaz. CiM sınıfının statik yöntemini çağırmak için ClassName veya CimClass parametresini kullanın.

Type:String
Aliases:Name
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Namespace

CIM işlemi için ad alanını belirtir. Varsayılan ad alanı root/cimv2'dir. PowerShell, ad alanlarının listesini sağlamak üzere yerel WMI sunucusundan bir ad alanı listesi aldığından, ad alanları listesine göz atmak için sekme tamamlama özelliğini kullanabilirsiniz.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OperationTimeoutSec

Cmdlet'in bilgisayardan yanıt bekleme süresini belirtir. Varsayılan olarak, değer 0'dır ve bu da cmdlet'in sunucu için varsayılan zaman aşımı değerini kullandığı anlamına gelir.

OperationTimeoutSec parametresi 3 dakikalık varsayılan bağlantı yeniden deneme zaman aşımından daha küçük bir değere ayarlanırsa, OperationTimeoutSec parametresinin değerinden daha uzun süren ağ hataları kurtarılamaz.

Type:UInt32
Aliases:OT
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Query

CIM sunucusunda çalıştırılacak sorguyu belirtir. Sorgunun sonucu olarak alınan örneklerde bir yöntem çağrılır. QueryDialect parametresini kullanarak sorgu diyalektini belirtebilirsiniz.

Belirtilen değer çift tırnak ("), tek tırnak işareti ()' veya ters eğik çizgi ()\ içeriyorsa, bu karakterlerin önüne ters eğik çizgi (\) karakteri ekleyerek bu karakterlerden kaçmalısınız. Belirtilen değer WQL LIKE işlecini kullanıyorsa, bunları köşeli ayraç (): yüzde (), alt çizgi ([]%_ ) içine alarak veya köşeli ayraç ([) açarak aşağıdaki karakterlerden kaçmalısınız.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String
Position:Named
Default value:WQL
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceUri

Kaynak sınıfının veya örneğin kaynak tekdüzen kaynak tanımlayıcısını (URI) belirtir. URI, bir bilgisayardaki diskler veya işlemler gibi belirli bir kaynak türünü tanımlamak için kullanılır.

URI bir ön ek ve kaynağın yolundan 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'sini http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ kullanılır ve sınıf adı eklenir.

ResourceURI yalnızca WSMan protokolü kullanılarak oluşturulan CIM oturumlarıyla veya WSMan kullanarak cim oturumu oluşturan ComputerName parametresini belirtirken kullanılabilir.

ComputerName parametresini belirtmeden bu parametreyi belirttiğinizde veya DCOM protokolü kullanılarak oluşturulan bir CIM oturumu belirttiğinizde bir hata alırsınız. DCOM protokolü ResourceURI parametresini desteklemez.

Hem ResourceUri parametresi hem de Filter parametresi belirtilirse, Filter parametresi yoksayılır.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

CimClass

CiM sınıfını bu cmdlet'e yöneltebilirsiniz.

CimInstance

CiM örneğini bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

PSCustomObject

Bu cmdlet bir nesne döndürür.

Notlar

PowerShell için aşağıdaki diğer adları Invoke-CimMethodiçerir:

  • Windows:
    • icim

Bu cmdlet yalnızca Windows platformlarında kullanılabilir.