Bagikan melalui


Invoke-CimMethod

Memanggil metode kelas CIM.

Sintaks

ClassNameComputerSet (Default)

Invoke-CimMethod
    [-ClassName] <String>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ClassNameSessionSet

Invoke-CimMethod
    [-ClassName] <String>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriComputerSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -ResourceUri <Uri>
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimInstanceSessionSet

Invoke-CimMethod
    [-InputObject] <CimInstance>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-ResourceUri <Uri>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimInstanceComputerSet

Invoke-CimMethod
    [-InputObject] <CimInstance>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ResourceUri <Uri>]
    [-ComputerName <String[]>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

ResourceUriSessionSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -ResourceUri <Uri>
    -CimSession <CimSession[]>
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassComputerSet

Invoke-CimMethod
    [-CimClass] <CimClass>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    [-ComputerName <String[]>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

CimClassSessionSet

Invoke-CimMethod
    [-CimClass] <CimClass>
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -CimSession <CimSession[]>
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QueryComputerSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -Query <String>
    [-QueryDialect <String>]
    [-ComputerName <String[]>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

QuerySessionSet

Invoke-CimMethod
    [[-Arguments] <IDictionary>]
    [-MethodName] <String>
    -Query <String>
    -CimSession <CimSession[]>
    [-QueryDialect <String>]
    [-Namespace <String>]
    [-OperationTimeoutSec <UInt32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Deskripsi

Cmdlet ini hanya tersedia di platform Windows.

cmdlet Invoke-CimMethod 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 ditentukan, maka cmdlet ini berfungsi pada Instrumentasi Manajemen Windows (WMI) lokal menggunakan sesi Model Objek Komponen (COM).
  • Jika parameter ComputerName atau parameter CimSession ditentukan, 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 ditentukan, cmdlet ini 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 Hentikan kelas Win32_Process.

$method = @{
  Query = 'select * from Win32_Process where name like "notepad%"'
  MethodName = "Terminate"
}
Invoke-CimMethod @method

Contoh 2: Memanggil metode menggunakan objek instans CIM

Contoh ini mengambil objek instans CIM dan menyimpannya dalam variabel bernama $x menggunakan cmdlet Get-CimInstance. Konten variabel kemudian digunakan sebagai InputObject untuk cmdlet Invoke-CimMethod. 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 Foo dengan meneruskan objek CimClass ke Invoke-CimMethod.

$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "Foo" -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.

Properti parameter

Jenis:IDictionary
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

(All)
Position:1
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-CimClass

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

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

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

Properti parameter

Jenis:CimClass
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

CimClassComputerSet
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CimClassSessionSet
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-CimSession

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

Properti parameter

Jenis:

CimSession[]

Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

ClassNameSessionSet
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CimInstanceSessionSet
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CimClassSessionSet
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
QuerySessionSet
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
ResourceUriSessionSet
Position:Named
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:Kelas

Kumpulan parameter

ClassNameComputerSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
ClassNameSessionSet
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa: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).

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

Properti parameter

Jenis:

String[]

Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:CN, ServerName

Kumpulan parameter

ClassNameComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
ResourceUriComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
CimClassComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
CimInstanceComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QueryComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:Cf

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:CimInstance
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:CimInstance

Kumpulan parameter

CimInstanceComputerSet
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CimInstanceSessionSet
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 parameter ClassName atau CimClass.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:Nama

Kumpulan parameter

(All)
Position:2
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Namespace

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

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

ClassNameComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
ClassNameSessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
ResourceUriComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
ResourceUriSessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QuerySessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QueryComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:UInt32
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:OT

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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 melepaskan 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 ([).

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

QuerySessionSet
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QueryComputerSet
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:String
Nilai default:WQL
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

QuerySessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
QueryComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa: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 sumber daya standar DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ 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.

Properti parameter

Jenis:Uri
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

CimInstanceComputerSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False
CimInstanceSessionSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-WhatIf

Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:wi

Kumpulan parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

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.