Invoke-CimMethod
Anropar en metod för en CIM-klass.
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
Den här cmdleten är endast tillgänglig på Windows-plattformen.
Cmdleten Invoke-CimMethod
anropar en metod för en CIM-klass eller CIM-instans med hjälp av de namn/värde-par som anges av parametern Argument .
Om parametern InputObject inte har angetts fungerar cmdleten på något av följande sätt:
- Om varken parametern ComputerName eller CimSession-parametern har angetts fungerar den här cmdleten på den lokala Windows Management Instrumentation (WMI) med hjälp av en COM-session (Component Object Model).
- Om parametern ComputerName eller CimSession har angetts fungerar den här cmdleten mot CIM-servern som anges av parametern ComputerName eller parametern CimSession .
Om parametern InputObject anges fungerar cmdleten på något av följande sätt:
- Om varken parametern ComputerName eller CimSession-parametern har angetts använder den här cmdleten CIM-sessionen eller datornamnet från indataobjektet.
- Om parametern ComputerName eller parametern CimSession har angetts använder den här cmdleten antingen parametervärdet CimSession eller parametervärdet ComputerName . Detta är inte ett vanligt scenario.
Exempel
Exempel 1: Anropa en metod
I det här exemplet anropas metoden Avsluta för klassen Win32_Process .
Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"
Exempel 2: Anropa en metod med CIM-instansobjekt
Det här exemplet hämtar CIM-instansobjektet och lagrar det i en variabel med namnet $x
med hjälp av cmdleten Get-CimInstance
. Innehållet i variabeln används sedan som InputObject för cmdleten Invoke-CimMethod
. Metoden GetOwner anropas för CimInstance.
$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner
Exempel 3: Anropa en statisk metod med argument
Det här exemplet anropar metoden Skapa med namnet med parametern Argument .
Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{
CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32"
}
Exempel 4: Validering på klientsidan
Det här exemplet utför validering på klientsidan för xyz-metoden genom att skicka ett CimClass-objekt till Invoke-CimMethod
.
$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }
Parametrar
-Arguments
Anger de parametrar som ska skickas till den anropade metoden. Ange värdena för den här parametern som namn/värde-par som lagras i en hash-tabell. Ordningen på de angivna värdena är inte viktig.
Typ: | IDictionary |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-CimClass
Anger ett CIM-klassobjekt som representerar en CIM-klassdefinition på servern. Använd den här parametern när du anropar en statisk metod för en klass.
Du kan använda cmdleten Get-CimClass
för att hämta en klassdefinition från servern.
Med den här parametern resulterar det i bättre schemavalidering på klientsidan.
Typ: | CimClass |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-CimSession
Kör kommandot med den angivna CIM-sessionen. Ange en variabel som innehåller CIM-sessionen eller ett kommando som skapar eller hämtar CIM-sessionen, till exempel New-CimSession
cmdletarna eller Get-CimSession
. Mer information finns i about_CimSession.
Typ: | CimSession[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ClassName
Anger namnet på den CIM-klass som åtgärden ska utföras för. Den här parametern används endast för statiska metoder. Du kan använda tabbavslut för att bläddra i listan över klasser, eftersom PowerShell hämtar en lista över klasser från den lokala WMI-servern för att tillhandahålla en lista med klassnamn.
Typ: | String |
Alias: | Class |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ComputerName
Anger namnet på den dator där du vill köra CIM-åtgärden. Du kan ange ett fullständigt domännamn (FQDN), ett NetBIOS-namn eller en IP-adress.
När du använder den här parametern skapar cmdleten en tillfällig session till den angivna datorn med hjälp av WsMan-protokollet. Annars utför cmdleten åtgärden på den lokala datorn med hjälp av Komponentobjektmodell (COM).
Anslut med en CIM-session för bättre prestanda när flera åtgärder utförs på samma dator.
Typ: | String[] |
Alias: | CN, ServerName |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-InputObject
Anger ett CIM-instansobjekt som ska användas som indata för att anropa en metod. Den här parametern kan bara användas för att anropa instansmetoder. Om du vill anropa statiska klassmetoder använder du parametern Klass eller CimClass-parametern .
Typ: | CimInstance |
Alias: | CimInstance |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-MethodName
Anger namnet på den CIM-metod som ska anropas. Den här parametern är obligatorisk och får inte vara null eller tom. Om du vill anropa en statisk metod för en CIM-klass använder du parametern ClassName eller CimClass.
Typ: | String |
Alias: | Name |
Position: | 2 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Namespace
Anger namnområdet för CIM-åtgärden. Standardnamnområdet är root/cimv2. Du kan använda tabbavslut för att bläddra i listan över namnområden, eftersom PowerShell hämtar en lista över namnområden från den lokala WMI-servern för att tillhandahålla listan över namnområden.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-OperationTimeoutSec
Anger hur lång tid cmdleten väntar på ett svar från datorn. Som standard är värdet 0, vilket innebär att cmdleten använder standardvärdet för timeout för servern.
Om parametern OperationTimeoutSec är inställd på ett värde som är mindre än tidsgränsen för omförsök av standardanslutning på 3 minuter kan nätverksfel som varar mer än värdet för parametern OperationTimeoutSec inte återställas.
Typ: | UInt32 |
Alias: | OT |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Query
Anger en fråga som ska köras på CIM-servern. En metod anropas på de instanser som tas emot som ett resultat av frågan. Du kan ange frågedialekten med parametern QueryDialect .
Om det angivna värdet innehåller dubbla citattecken ("
), enkla citattecken ('
) eller ett omvänt snedstreck (\
) måste du undvika dessa tecken genom att prefixa dem med tecknet omvänt snedstreck (\
). Om det angivna värdet använder WQL LIKE-operatorn måste du undvika följande tecken genom att omsluta dem inom hakparenteser (): procent ([]
%
), understreck (_
) eller inledande hakparentes ([
).
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-QueryDialect
Anger det frågespråk som används för frågeparametern. De godtagbara värdena för den här parametern är: WQL eller CQL.
Standardvärdet är WQL.
Typ: | String |
Position: | Named |
Standardvärde: | WQL |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-ResourceUri
Anger resursens enhetliga resursidentifierare (URI) för resursklassen eller instansen. URI:n används för att identifiera en specifik typ av resurs, till exempel diskar eller processer, på en dator.
En URI består av ett prefix och en sökväg till en resurs. Till exempel:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
Om du inte anger den här parametern används standardresurs-URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/
:n för DMTF som standard och klassnamnet läggs till i den.
ResourceURI kan endast användas med CIM-sessioner som skapats med hjälp av WSMan-protokollet, eller när du anger parametern ComputerName , som skapar en CIM-session med hjälp av WSMan.
När du anger den här parametern utan att ange parametern ComputerName , eller när du anger en CIM-session som skapats med DCOM-protokollet, får du ett fel. DCOM-protokollet stöder inte ResourceURI-parametern .
Om både ResourceUri-parametern och filterparametern anges ignoreras filterparametern.
Typ: | Uri |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka en CIM-klass till den här cmdleten.
Du kan skicka en CIM-instans till den här cmdleten.
Utdata
Den här cmdleten returnerar ett objekt.
Kommentarer
PowerShell innehåller följande alias för Invoke-CimMethod
:
- Windows:
icim
Den här cmdleten är endast tillgänglig på Windows-plattformar.