Invoke-CimMethod

Vyvolá metodu třídy CIM.

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

Tato rutina je dostupná jenom na platformě Windows.

Rutina Invoke-CimMethod vyvolá metodu třídy CIM nebo instance CIM pomocí párů name-value určených parametrem Arguments .

Pokud není zadaný parametr InputObject, rutina funguje jedním z následujících způsobů:

  • Pokud není zadán parametr ComputerName ani parametr CimSession, tato rutina funguje v místní službě WMI (Windows Management Instrumentation) pomocí relace modelu COM (Component Object Model).
  • Pokud je zadán parametr ComputerName nebo parametr CimSession, tato rutina pracuje se serverem CIM určeným parametrem ComputerName nebo parametrem CimSession.

Pokud je zadaný parametr InputObject, rutina funguje jedním z následujících způsobů:

  • Pokud není zadán parametr ComputerName ani parametr CimSession, použije tato rutina ze vstupního objektu relaci CIM nebo název počítače.
  • Pokud je zadaný parametr ComputerName nebo parametr CimSession, použije tato rutina hodnotu parametru CimSession nebo hodnotu parametru ComputerName. Nejedná se o běžný scénář.

Příklady

Příklad 1: Vyvolání metody

Tento příklad vyvolá Terminate metoda Win32_Process třídy.

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

Příklad 2: Vyvolání metody pomocí objektu instance CIM

Tento příklad načte objekt instance CIM a uloží ho do proměnné pojmenované $x pomocí rutiny Get-CimInstance . Obsah proměnné se pak použije jako InputObject pro rutinu Invoke-CimMethod . Metoda GetOwner je vyvolána pro CimInstance.

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

Příklad 3: Vyvolání statické metody pomocí argumentů

Tento příklad vyvolá metodu Create pojmenovanou pomocí parametru Arguments .

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

Příklad 4: Ověřování na straně klienta

Tento příklad provádí ověření na straně klienta pro metodu xyz předáním objektu CimClass do Invoke-CimMethod.

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

Parametry

-Arguments

Určuje parametry, které se mají předat volané metodě. Zadejte hodnoty tohoto parametru jako páry name-value uložené v tabulce hash. Pořadí zadaných hodnot není důležité.

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

-CimClass

Určuje objekt třídy CIM, který představuje definici třídy CIM na serveru. Tento parametr použijte při vyvolání statické metody třídy.

Pomocí této rutiny Get-CimClass můžete načíst definici třídy ze serveru.

Použití tohoto parametru vede k lepšímu ověření schématu na straně klienta.

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

-CimSession

Spustí příkaz pomocí zadané relace CIM. Zadejte proměnnou, která obsahuje relaci CIM, nebo příkaz, který vytvoří nebo získá relaci CIM, například rutinyNew-CimSession.Get-CimSession Další informace najdete v tématu about_CimSession.

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

-ClassName

Určuje název třídy CIM, pro kterou se má operace provést. Tento parametr se používá pouze pro statické metody. Pomocí dokončování tabulátoru můžete procházet seznam tříd, protože PowerShell získá seznam tříd z místního serveru WMI a poskytne seznam názvů tříd.

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

-ComputerName

Určuje název počítače, na kterém chcete spustit operaci CIM. Můžete zadat plně kvalifikovaný název domény (FQDN), název NetBIOS nebo IP adresu.

Při použití tohoto parametru rutina vytvoří dočasnou relaci se zadaným počítačem pomocí protokolu WsMan. V opačném případě rutina provede operaci na místním počítači pomocí modelu COM (Component Object Model).

Připojení použití relace CIM pro lepší výkon při provádění více operací na stejném počítači.

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

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

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

-InputObject

Určuje objekt instance CIM, který se má použít jako vstup pro vyvolání metody. Tento parametr lze použít pouze k vyvolání metod instance. K vyvolání statických metod třídy použijte parametr Class nebo parametr CimClass .

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

-MethodName

Určuje název metody CIM, která se má vyvolat. Tento parametr je povinný a nesmí být null ani prázdný. K vyvolání statické metody třídy CIM použijte ClassName nebo CimClass parametr.

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

-Namespace

Určuje obor názvů pro operaci CIM. Výchozí obor názvů je root/cimv2. Pomocí dokončování tabulátoru můžete procházet seznam oborů názvů, protože PowerShell získá seznam oborů názvů z místního serveru WMI a poskytne seznam oborů názvů.

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

-OperationTimeoutSec

Určuje dobu, po kterou rutina čeká na odpověď z počítače. Ve výchozím nastavení je hodnota 0, což znamená, že rutina používá výchozí hodnotu časového limitu pro server.

Pokud je parametr OperationTimeoutSec nastaven na hodnotu menší než výchozí časový limit opakování připojení 3 minuty, selhání sítě, která trvala více než hodnota parametru OperationTimeoutSec, se nedají obnovit.

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

-Query

Určuje dotaz, který se má spustit na serveru CIM. Metoda je vyvolána na instancích přijatých v důsledku dotazu. Dialekt dotazu můžete zadat pomocí parametru QueryDialect .

Pokud zadaná hodnota obsahuje dvojité uvozovky ("), jednoduché uvozovky (') nebo zpětné lomítko (\), musíte tyto znaky uvozit před znakem zpětného lomítka (\). Pokud zadaná hodnota používá operátor WQL LIKE, musíte uvozovat následující znaky tak, že je uzavřete do hranatých závorek (): percent ([]), podtržítko (%_) nebo levá hranatá závorka ([).

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

-QueryDialect

Určuje dotazovací jazyk použitý pro parametr Dotazu. Přijatelné hodnoty pro tento parametr jsou: WQL nebo CQL.

Výchozí hodnota je WQL.

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

-ResourceUri

Určuje identifikátor URI (Uniform Resource Identifier) prostředku třídy prostředků nebo instance. Identifikátor URI slouží k identifikaci konkrétního typu prostředku, jako jsou disky nebo procesy, v počítači.

Identifikátor URI se skládá z předpony a cesty k prostředku. Příklad:

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

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

Pokud tento parametr nezadáte, použije se standardní identifikátor URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ prostředku DMTF a název třídy se k němu připojí.

Identifikátor ResourceURI lze použít pouze s relacemi CIM vytvořenými pomocí protokolu WSMan nebo při zadávání parametru ComputerName , který vytvoří relaci CIM pomocí WSManu.

Pokud zadáte tento parametr bez zadání parametru ComputerName nebo když zadáte relaci CIM vytvořenou pomocí protokolu DCOM, zobrazí se chyba. Protokol DCOM nepodporuje parametr ResourceURI .

Pokud je zadán parametr ResourceUri i parametr Filter, parametr Filter se ignoruje.

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

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

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

Vstupy

CimClass

Do této rutiny můžete třídu CIM pipetovat.

CimInstance

Instanci CIM můžete do této rutiny převést.

Výstupy

PSCustomObject

Tato rutina vrátí objekt.

Poznámky

PowerShell obsahuje následující aliasy pro Invoke-CimMethod:

  • Windows:
    • icim

Tato rutina je dostupná jenom na platformách Windows.