Condividi tramite


Invoke-CimMethod

Richiama un metodo di una classe CIM.

Sintassi

ClassNameComputerSet (impostazione predefinita).

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

Descrizione

Il Invoke-CimMethod cmdlet richiama un metodo di una classe CIM o di un'istanza CIM usando le coppie nome-valore specificate dal parametro Arguments .

Se il parametro InputObject non viene specificato, il cmdlet funziona in uno dei modi seguenti:

  • Se non viene specificato né il parametro NomeComputer né il parametro CimSession, questo cmdlet funziona in WMI (Windows Management Instrumentation) Locale usando una sessione COM (Component Object Model).
  • Se viene specificato il parametro ComputerName o il parametro CimSession, questo cmdlet viene eseguito sul server CIM specificato da uno dei parametri ComputerName o CimSession.

Se viene specificato il parametro InputObject, il cmdlet funziona in uno dei modi seguenti:

  • Se non viene specificato né il parametro NomeComputer né il parametro CimSession, questo cmdlet usa la sessione CIM o il nome del computer dall'oggetto di input.
  • Se viene specificato il parametro ComputerName o il parametro CimSession, questo cmdlet utilizza il valore del parametro CimSession o il valore del parametro ComputerName. Non si tratta di uno scenario comune.

Esempio

Esempio 1: Richiamare un metodo

In questo esempio viene richiamato il metodo Terminate della classe Win32_Process .

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

Esempio 2: Richiamare un metodo utilizzando l'oggetto istanza CIM

Questo esempio recupera l'oggetto istanza CIM e lo archivia in una variabile denominata $x usando il Get-CimInstance cmdlet . Il contenuto della variabile viene quindi usato come InputObject per il Invoke-CimMethod cmdlet . Il metodo GetOwner viene richiamato per CimInstance.

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

Esempio 3: Richiamare un metodo statico usando argomenti

In questo esempio viene richiamato il metodo Create denominato usando il parametro Arguments .

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

Esempio 4: convalida lato client

In questo esempio viene eseguita la convalida lato client per il metodo Foo passando un oggetto CimClass a Invoke-CimMethod.

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

Parametri

-Arguments

Specifica i parametri da passare al metodo chiamato. Specificare i valori di questo parametro come coppie nome-valore, archiviate in una tabella hash. L'ordine dei valori immessi non è importante.

Proprietà dei parametri

Tipo:IDictionary
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-CimClass

Specifica un oggetto classe CIM che rappresenta una definizione di classe CIM nel server. Utilizzare questo parametro quando si richiama un metodo statico di una classe.

È possibile usare il Get-CimClass cmdlet per recuperare una definizione di classe dal server.

L'uso di questo parametro comporta una migliore convalida dello schema lato client.

Proprietà dei parametri

Tipo:CimClass
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CimClassComputerSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CimClassSessionSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-CimSession

Esegue il comando usando la sessione CIM specificata. Immettere una variabile contenente la sessione CIM o un comando che crea o ottiene la sessione CIM, ad esempio i cmdlet New-CimSession o Get-CimSession. Per altre informazioni, vedere about_CimSession.

Proprietà dei parametri

Tipo:

CimSession[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ClassNameSessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CimInstanceSessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CimClassSessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
QuerySessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
ResourceUriSessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ClassName

Specifica il nome della classe CIM per cui eseguire l'operazione. Questo parametro viene utilizzato solo per i metodi statici. È possibile usare il completamento con il tasto Tab per esplorare l'elenco delle classi, perché PowerShell ottiene un elenco di classi dal server WMI locale per fornire i nomi delle classi.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Classe

Set di parametri

ClassNameComputerSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ClassNameSessionSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-ComputerName

Specifica il nome del computer in cui si desidera eseguire l'operazione CIM. È possibile specificare un nome di dominio completo (FQDN), un nome NetBIOS o un indirizzo IP.

Quando si usa questo parametro, il cmdlet crea una sessione temporanea nel computer specificato usando il protocollo WsMan. In caso contrario, il cmdlet esegue l'operazione nel computer locale usando Component Object Model (COM).

Connettersi usando una sessione CIM per ottenere prestazioni migliori quando vengono eseguite più operazioni nello stesso computer.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Cina, Nome del Server

Set di parametri

ClassNameComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ResourceUriComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
CimClassComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
CimInstanceComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
QueryComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-InputObject

Specifica un oggetto istanza CIM da utilizzare come input per richiamare un metodo. Questo parametro può essere utilizzato solo per richiamare i metodi di istanza. Per richiamare i metodi statici della classe, usare il parametro Class o il parametro CimClass .

Proprietà dei parametri

Tipo:CimInstance
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:CimInstance

Set di parametri

CimInstanceComputerSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
CimInstanceSessionSet
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-MethodName

Specifica il nome del metodo CIM da richiamare. Questo parametro è obbligatorio e non può essere null o vuoto. Per richiamare un metodo statico di una classe CIM, usare className o il parametro CimClass .

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Nome

Set di parametri

(All)
Posizione:2
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Namespace

Specifica il namespace per l'operazione CIM. Lo spazio dei nomi predefinito è root/CIMV2. È possibile utilizzare la funzione di completamento automatico per esplorare l'elenco dei namespace, poiché PowerShell ottiene l'elenco dei namespace dal server WMI locale.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ClassNameComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ClassNameSessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ResourceUriComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
ResourceUriSessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
QuerySessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
QueryComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-OperationTimeoutSec

Specifica la quantità di tempo in cui il cmdlet attende una risposta dal computer. Per impostazione predefinita, il valore è 0, il che significa che il cmdlet usa il valore di timeout predefinito per il server.

Se il parametro OperationTimeoutSec è impostato su un valore inferiore al timeout di tentativo di connessione predefinito di 3 minuti, gli errori di rete che durano più del valore del parametro OperationTimeoutSec non sono recuperabili.

Proprietà dei parametri

Tipo:UInt32
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:OT

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Query

Specifica una query da eseguire nel server CIM. Viene richiamato un metodo sulle istanze ricevute come risultato della query. È possibile specificare il dialetto della query usando il parametro QueryDialect.

Se il valore specificato contiene virgolette doppie ("), virgolette singole (') o una barra rovesciata (\), è necessario eseguire l'escape di tali caratteri anteponendo una barra rovesciata (\). Se il valore specificato usa l'operatore LIKE WQL, è necessario racchiuderli tra parentesi quadre (): percent ([]%), carattere di sottolineatura (_) o parentesi quadra aperta ([).

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

QuerySessionSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
QueryComputerSet
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-QueryDialect

Specifica il linguaggio di query utilizzato per il parametro Query. I valori accettabili per questo parametro sono: WQL o CQL.

Il valore predefinito è WQL.

Proprietà dei parametri

Tipo:String
Valore predefinito:WQL
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

QuerySessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
QueryComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-ResourceUri

Specifica l'URI (Uniform Resource Identifier) della classe di risorse o dell'istanza di risorsa. L'URI viene usato per identificare un tipo specifico di risorsa, ad esempio dischi o processi, in un computer.

Un URI è costituito da un prefisso e da un percorso di una risorsa. Per esempio:

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

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

Per impostazione predefinita, se non si specifica questo parametro, viene utilizzato l'URI della risorsa standard DMTF http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/ e vi viene aggiunto il nome della classe.

ResourceUri può essere usato solo con sessioni CIM create usando il protocollo WSMan o quando si specifica il parametro NomeComputer, che crea una sessione CIM usando WSMan.

Quando si specifica questo parametro senza specificare il parametro ComputerName o quando si specifica una sessione CIM creata usando il protocollo DCOM, viene visualizzato un errore. Il protocollo DCOM non supporta il parametro ResourceUri .

Se vengono specificati sia il parametro ResourceUri che il parametro Filter, il parametro Filter viene ignorato.

Proprietà dei parametri

Tipo:Uri
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

CimInstanceComputerSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False
CimInstanceSessionSet
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

CimClass

È possibile inviare tramite pipe una classe CIM a questo cmdlet.

CimInstance

È possibile inviare tramite pipe un'istanza CIM a questo cmdlet.

Output

PSCustomObject

Questo cmdlet restituisce un oggetto.