Bagikan melalui


Invoke-CimMethod

Memanggil metode kelas CIM.

Sintaks

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

Deskripsi

Cmdlet ini hanya tersedia di platform Windows.

Invoke-CimMethod Cmdlet memanggil metode kelas CIM atau instans CIM menggunakan pasangan nilai nama yang ditentukan oleh parameter Argumen.

Jika parameter InputObject tidak ditentukan, cmdlet berfungsi dengan salah satu cara berikut:

  • Jika parameter ComputerName maupun parameter CimSession tidak ditentukan, cmdlet ini tidak berfungsi pada Instrumentasi Manajemen Windows (WMI) lokal menggunakan sesi Model Objek Komponen (COM).
  • Jika parameter ComputerName atau parameter CimSession ditentukan, maka cmdlet ini berfungsi terhadap server CIM yang ditentukan oleh parameter ComputerName atau parameter CimSession.

Jika parameter InputObject ditentukan, cmdlet berfungsi dengan salah satu cara berikut:

  • Jika parameter ComputerName maupun parameter CimSession tidak ditentukan, cmdlet ini tidak menggunakan sesi CIM atau nama komputer dari objek input.
  • Jika parameter ComputerName atau parameter CimSession ditentukan, cmdlet ini menggunakan nilai parameter CimSession atau nilai parameter ComputerName. Skenario ini bukan skenario yang umum.

Contoh

Contoh 1: Memanggil metode

Contoh ini memanggil metode Penghentian kelas Win32_Process .

Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"

Contoh 2: Memanggil metode menggunakan objek instans CIM

Contoh ini mengambil objek instans CIM dan menyimpannya dalam variabel bernama $x menggunakan Get-CimInstance cmdlet. Konten variabel kemudian digunakan sebagai InputObject untuk Invoke-CimMethod cmdlet. Metode GetOwner dipanggil untuk CimInstance.

$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner

Contoh 3: Memanggil metode statis menggunakan argumen

Contoh ini memanggil metode Buat bernama menggunakan parameter Argumen .

Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{
  CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32"
}

Contoh 4: Validasi sisi klien

Contoh ini melakukan validasi sisi klien untuk metode xyz dengan meneruskan objek CimClass ke Invoke-CimMethod.

$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }

Parameter

-Arguments

Menentukan parameter yang akan diteruskan ke metode yang disebut. Tentukan nilai untuk parameter ini sebagai pasangan nilai nama, disimpan dalam tabel hash. Urutan nilai yang dimasukkan tidak penting.

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

-CimClass

Menentukan objek kelas CIM yang mewakili definisi kelas CIM di server. Gunakan parameter ini saat memanggil metode statis kelas.

Anda dapat menggunakan Get-CimClass cmdlet untuk mengambil definisi kelas dari server.

Menggunakan parameter ini menghasilkan validasi skema sisi klien yang lebih baik.

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

-CimSession

Menjalankan perintah menggunakan sesi CIM yang ditentukan. Masukkan variabel yang berisi sesi CIM, atau perintah yang membuat atau mendapatkan sesi CIM, seperti New-CimSession cmdlet atau Get-CimSession . Untuk informasi selengkapnya, lihat about_CimSession.

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

-ClassName

Menentukan nama kelas CIM untuk melakukan operasi. Parameter ini hanya digunakan untuk metode statis. Anda dapat menggunakan penyelesaian tab untuk menelusuri daftar kelas, karena PowerShell mendapatkan daftar kelas dari server WMI lokal untuk menyediakan daftar nama kelas.

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

-ComputerName

Menentukan nama komputer tempat Anda ingin menjalankan operasi CIM. Anda dapat menentukan nama domain yang sepenuhnya memenuhi syarat (FQDN), nama NetBIOS, atau alamat IP.

Saat menggunakan parameter ini, cmdlet membuat sesi sementara ke komputer yang ditentukan menggunakan protokol WsMan. Jika tidak, cmdlet melakukan operasi pada komputer lokal menggunakan Model Objek Komponen (COM).

Koneksi menggunakan sesi CIM untuk performa yang lebih baik ketika beberapa operasi dilakukan pada komputer yang sama.

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

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

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

-InputObject

Menentukan objek instans CIM untuk digunakan sebagai input untuk memanggil metode. Parameter ini hanya dapat digunakan untuk memanggil metode instans. Untuk memanggil metode statis kelas, gunakan parameter Kelas atau parameter CimClass .

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

-MethodName

Menentukan nama metode CIM yang akan dipanggil. Parameter ini wajib dan tidak boleh null atau kosong. Untuk memanggil metode statis kelas CIM, gunakan ClassName atau parameter CimClass .

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

-Namespace

Menentukan namespace layanan untuk operasi CIM. Namespace default adalah root/cimv2. Anda dapat menggunakan penyelesaian tab untuk menelusuri daftar namespace, karena PowerShell mendapatkan daftar namespace layanan dari server WMI lokal untuk menyediakan daftar namespace layanan.

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

-OperationTimeoutSec

Menentukan jumlah waktu cmdlet menunggu respons dari komputer. Secara default, nilainya adalah 0, yang berarti bahwa cmdlet menggunakan nilai batas waktu default untuk server.

Jika parameter OperationTimeoutSec diatur ke nilai yang kurang dari batas waktu coba lagi koneksi default 3 menit, kegagalan jaringan yang berlangsung lebih dari nilai parameter OperationTimeoutSec tidak dapat dipulihkan.

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

-Query

Menentukan kueri yang akan dijalankan di server CIM. Metode dipanggil pada instans yang diterima sebagai hasil dari kueri. Anda dapat menentukan dialek kueri menggunakan parameter QueryDialect .

Jika nilai yang ditentukan berisi tanda kutip ganda ("), tanda kutip tunggal ('), atau garis miring terbalik (\), Anda harus keluar dari karakter tersebut dengan mengawalinya dengan karakter garis miring terbalik (\). Jika nilai yang ditentukan menggunakan operator WQL LIKE, maka Anda harus keluar dari karakter berikut dengan mengapitnya dalam tanda kurung siku ([]): persen (%), garis bawah (_), atau kurung siku pembuka ([).

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

-QueryDialect

Menentukan bahasa kueri yang digunakan untuk parameter Kueri. Nilai yang dapat diterima untuk parameter ini adalah: WQL atau CQL.

Nilai defaultnya adalah WQL.

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

-ResourceUri

Menentukan pengidentifikasi sumber daya seragam sumber daya (URI) dari kelas atau instans sumber daya. URI digunakan untuk mengidentifikasi jenis sumber daya tertentu, seperti disk atau proses, di komputer.

URI terdiri dari awalan dan jalur ke sumber daya. Contohnya:

http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk

http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings

Secara default, jika Anda tidak menentukan parameter ini, URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ sumber daya standar DMTF digunakan dan nama kelas ditambahkan ke parameter tersebut.

ResourceURI hanya dapat digunakan dengan sesi CIM yang dibuat menggunakan protokol WSMan, atau saat menentukan parameter ComputerName , yang membuat sesi CIM menggunakan WSMan.

Saat Anda menentukan parameter ini tanpa menentukan parameter ComputerName , atau saat Anda menentukan sesi CIM yang dibuat menggunakan protokol DCOM, Anda mendapatkan kesalahan. Protokol DCOM tidak mendukung parameter ResourceURI .

Jika parameter ResourceUri dan parameter Filter ditentukan, parameter Filter diabaikan.

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

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

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

Input

CimClass

Anda dapat menyalurkan kelas CIM ke cmdlet ini.

CimInstance

Anda dapat menyalurkan instans CIM ke cmdlet ini.

Output

PSCustomObject

Cmdlet ini mengembalikan objek.

Catatan

PowerShell menyertakan alias berikut untuk Invoke-CimMethod:

  • Windows:
    • icim

Cmdlet ini hanya tersedia di platform Windows.