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 .
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.
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.
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.
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.
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.
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 .
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 .
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.
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.
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 ([).
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:
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.
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.
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.