Dela via


Invoke-CimMethod

Anropar en metod för en CIM-klass.

Syntax

ClassNameComputerSet (Standard)

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

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 anges fungerar cmdleten på något av följande sätt:

  • Om varken parametern ComputerName eller parametern CimSession anges, 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 parametern CimSession anges, fungerar den här cmdleten mot den CIM-server 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 parametern CimSession anges använder den här cmdleten CIM-sessionen eller datornamnet från indataobjektet.
  • Om parametern ComputerName eller parametern CimSession anges använder den här cmdleten antingen parametervärdet CimSession eller ComputerName parametervärde. Detta är inte ett vanligt scenario.

Exempel

Exempel 1: Anropa en metod

Det här exemplet anropar metoden Avsluta i klassen Win32_Process.

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

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 metoden Foo genom att skicka ett CimClass--objekt till Invoke-CimMethod.

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

Parameteregenskaper

Typ:IDictionary
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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.

Parameteregenskaper

Typ:CimClass
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CimClassComputerSet
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CimClassSessionSet
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 cmdletarna New-CimSession eller Get-CimSession. Mer information finns i about_CimSession.

Parameteregenskaper

Typ:

CimSession[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ClassNameSessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CimInstanceSessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CimClassSessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
QuerySessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
ResourceUriSessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Klass

Parameteruppsättningar

ClassNameComputerSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ClassNameSessionSet
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:CN, Servernamn

Parameteruppsättningar

ClassNameComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ResourceUriComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
CimClassComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
CimInstanceComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
QueryComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:jfr

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 Class eller parametern CimClass.

Parameteregenskaper

Typ:CimInstance
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:CimInstance

Parameteruppsättningar

CimInstanceComputerSet
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
CimInstanceSessionSet
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 parametern CimClass.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Namn

Parameteruppsättningar

(All)
Position:2
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ClassNameComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ClassNameSessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ResourceUriComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
ResourceUriSessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
QuerySessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
QueryComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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 standardtiden för anslutningsförsök på 3 minuter kan inte nätverksfel som varar mer än värdet för parametern OperationTimeoutSec återställas.

Parameteregenskaper

Typ:UInt32
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:OT

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 prefixera dem med tecknet omvänt snedstreck (\). Om det angivna värdet använder operatorn WQL LIKE måste du undvika följande tecken genom att omsluta dem inom hakparenteser ([]): percent (%), understreck (_) eller öppna hakparentes ([).

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

QuerySessionSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
QueryComputerSet
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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-.

Parameteregenskaper

Typ:String
Standardvärde:WQL
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

QuerySessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
QueryComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument: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 som standard URI för DMTF-standardresursen http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ och klassnamnet läggs till i den.

ResourceUri- kan bara 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 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 hjälp av DCOM-protokollet, får du ett fel. DCOM-protokollet stöder inte parametern ResourceUri.

Om både parametern ResourceUri och parametern Filter anges ignoreras parametern Filter.

Parameteregenskaper

Typ:Uri
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

CimInstanceComputerSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False
CimInstanceSessionSet
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-WhatIf

Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Wi

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

CimClass

Du kan skicka en CIM-klass till den här cmdleten.

CimInstance

Du kan skicka en CIM-instans till den här cmdleten.

Utdata

PSCustomObject

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.