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, bude tato rutina fungovat v místní relaci rozhraní WMI (Windows Management Instrumentation) pomocí relace modelu COM (Component Object Model).
Pokud je zadán parametr ComputerName nebo parametr CimSession, bude tato rutina fungovat se serverem CIM zadaný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 název relace CIM nebo názvu počítače ze vstupního objektu.
Pokud je zadán 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á metodu Terminate třídy Win32_Process.
$method = @{
Query = 'select * from Win32_Process where name like "notepad%"'
MethodName = "Terminate"
}
Invoke-CimMethod @method
Příklad 2: Vyvolání metody pomocí objektu instance CIM
Tento příklad načte objekt instance CIM a uloží ho do proměnné s názvem $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.
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é.
Spustí příkaz pomocí zadané relace CIM. Zadejte proměnnou, která obsahuje relaci CIM, nebo příkaz, který relaci CIM vytvoří nebo získá, například pomocí cmdletů New-CimSession nebo Get-CimSession. Další informace naleznete v tématu about_CimSession.
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.
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řipojte se pomocí relace CIM pro zajištění lepšího výkonu při provádění více operací na stejném počítači.
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 třídy nebo parametr CimClass.
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 parametr CimClass.
Určuje oblast jmen 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ů.
Určuje dobu, po kterou cmdlet č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.
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 (\), je nutné uvozit znaky předponou zpětného lomítka (\). Pokud zadaná hodnota používá operátor WQL LIKE, je nutné uvozit následující znaky tak, že je uzavřete do hranatých závorek ([]): percent (%), podtržítko (_) nebo levá hranatá závorka ([).
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. Například:
Pokud tento parametr nezadáte, použije se standardní identifikátor URI prostředku DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ a název třídy se k němu připojí.
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, bude parametr filtru ignorován.
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.