Il cmdlet Invoke-WmiMethod chiama i metodi degli oggetti Strumentazione gestione Windows (WMI).
I nuovi cmdlet CIM (Common Information Model), introdotti in Windows PowerShell 3.0, eseguono le stesse attività dei cmdlet WMI.
I cmdlet CIM sono conformi agli standard WS-Management (WSMan) e allo standard CIM, che consente ai cmdlet di usare le stesse tecniche per gestire i computer Windows e quelli che eseguono altri sistemi operativi.
Invece di usare Invoke-WmiMethod, è consigliabile usare Invoke-CimMethodhttps://go.microsoft.com/fwlink/?LinkId=227965.
Esempio
Esempio 1: Elencare l'ordine richiesto degli oggetti WMI
Questo comando elenca l'ordine richiesto degli oggetti.
Per richiamare WMI in PowerShell 3.0 differisce dai metodi alternativi e richiede che i valori degli oggetti vengano immessi in un ordine specifico.
Questo comando avvia un'istanza del Blocco note chiamando il metodo Create della classe Win32_Process.
La proprietà ReturnValue viene popolata con 0 e la proprietà ProcessId viene popolata con un numero intero (numero ID processo successivo) se il comando viene completato.
Questo comando rinomina un file.
Usa il parametro Path per fare riferimento a un'istanza della classe CIM_DataFile.
Applica quindi il metodo Rename a tale istanza specifica.
La proprietà ReturnValue viene popolata con un valore 0 se il comando viene completato.
Parametri
-ArgumentList
Specifica i parametri da passare al metodo chiamato.
Il valore di questo parametro deve essere una matrice di oggetti e deve essere visualizzato nell'ordine richiesto dal metodo chiamato.
Il cmdlet Invoke-CimCommand non presenta queste limitazioni.
Per determinare l'ordine in cui elencare tali oggetti, eseguire il metodo GetMethodParameters() nella classe WMI, come illustrato nell'esempio 1, alla fine di questo argomento.
Importante: se il primo valore è una matrice che contiene più di un elemento, è necessario un secondo valore di $null.
In caso contrario, il comando genera un errore, ad esempio "Impossibile eseguire il cast dell'oggetto di tipo "System.Byte" per digitare "System.Array".
Un esempio che usa una matrice di oggetti ($binSD) seguito da un valore Null ($null) segue:
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
object
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-AsJob
Indica che questo cmdlet esegue il comando come processo in background.
Usare questo parametro per eseguire comandi che richiedono molto tempo per terminare.
Quando si usa il parametro AsJob, il comando restituisce un oggetto che rappresenta il processo in background e quindi visualizza il prompt dei comandi.
È possibile continuare a lavorare nella sessione al termine del processo.
Se Invoke-WmiMethod viene utilizzato in un computer remoto, il processo viene creato nel computer locale e i risultati dei computer remoti vengono restituiti automaticamente al computer locale.
Per gestire il processo, usare i cmdlet che contengono il sostantivo Job (cmdlet Job).
Per ottenere i risultati del processo, usare il cmdlet Receive-Job.
Per usare questo parametro con computer remoti, i computer locali e remoti devono essere configurati per la comunicazione remota.
Inoltre, è necessario avviare Windows PowerShell usando l'opzione Esegui come amministratore in Windows Vista e versioni successive di Windows.
Per altre informazioni, vedere about_Remote_Requirements.
Per altre informazioni sui processi in background di Windows PowerShell, vedere about_Jobs e about_Remote_Jobs.
Proprietà dei parametri
Tipo:
SwitchParameter
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
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
-Authentication
Specifica il livello di autenticazione da utilizzare con la connessione WMI.
I valori accettabili per questo parametro sono:
-1: non modificato
0: impostazione predefinita
1: Nessuno (nessuna autenticazione eseguita).
2: La connessione (l'autenticazione viene eseguita solo quando il client stabilisce una relazione con l'applicazione).
3: La chiamata (l'autenticazione viene eseguita solo all'inizio di ogni chiamata quando l'applicazione riceve la richiesta).
4: Il pacchetto (l'autenticazione viene eseguita su tutti i dati ricevuti dal client).
5: PacketIntegrity (Tutti i dati trasferiti tra il client e l'applicazione vengono autenticati e verificati).
6: PacketPrivacy (vengono usate le proprietà degli altri livelli di autenticazione e tutti i dati vengono crittografati).
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Authority
Specifica l'autorità da utilizzare per autenticare la connessione WMI.
È possibile specificare l'autenticazione NT LAN Manager (NTLM) o Kerberos standard.
Per usare NTLM, impostare l'impostazione dell'autorità su ntlmdomain:<DomainName>, dove <DomainName> identifica un nome di dominio NTLM valido.
Per usare Kerberos, specificare kerberos:<DomainName\ServerName>.
Non è possibile includere l'impostazione dell'autorità quando ci si connette al computer locale.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Class
Specifica la classe WMI che contiene un metodo statico da chiamare.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
0
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-ComputerName
Specifica, come matrice di stringhe, i computer in cui questo cmdlet esegue il comando .
Il valore predefinito è il computer locale.
Digitare il nome NetBIOS, un indirizzo IP o un nome di dominio completo di uno o più computer.
Per specificare il computer locale, digitare il nome del computer, un punto (.) o localhost.
Questo parametro non si basa sulla comunicazione remota di Windows PowerShell.
È possibile usare il parametro ComputerName anche se il computer non è configurato per eseguire comandi remoti.
Proprietà dei parametri
Tipo:
String[]
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Alias:
CN
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
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
-Credential
Specifica un account utente autorizzato a eseguire questa azione.
Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio User01, Domain01\User01 o User@Contoso.com.
In alternativa, immettere un oggetto PSCredential, ad esempio un oggetto restituito dal cmdlet Get-Credential.
Quando si digita un nome utente, verrà richiesta una password.
Proprietà dei parametri
Tipo:
PSCredential
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-EnableAllPrivileges
Indica che questo cmdlet abilita tutti i privilegi dell'utente corrente prima che il comando effettui la chiamata WMI.
Proprietà dei parametri
Tipo:
SwitchParameter
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Impersonation
Specifica il livello di rappresentazione da utilizzare.
I valori accettabili per questo parametro sono:
0: impostazione predefinita (legge il Registro di sistema locale per il livello di rappresentazione predefinito, che in genere è impostato su "3: Impersonate".)
1: Anonimo (nasconde le credenziali del chiamante.
2: Identificare (consente agli oggetti di eseguire query sulle credenziali del chiamante).
3: Rappresentazione (consente agli oggetti di usare le credenziali del chiamante.
4: Delegato (consente agli oggetti di consentire ad altri oggetti di usare le credenziali del chiamante).
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
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 ManagementObject da utilizzare come input.
Quando si usa questo parametro, tutti gli altri parametri ad eccezione del Flag e Argument parametri vengono ignorati.
Proprietà dei parametri
Tipo:
ManagementObject
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
object
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
True
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Locale
Specifica le impostazioni locali preferite per gli oggetti WMI.
Specificare il valore del parametro Locale come matrice nel formato< LCID MS_>nell'ordine preferito.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Name
Specifica il nome del metodo da richiamare.
Questo parametro è obbligatorio e non può essere null o vuoto.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
1
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Namespace
Se usato con il parametro Class , questo parametro specifica lo spazio dei nomi del repository WMI in cui si trova la classe o l'oggetto WMI a cui si fa riferimento.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Alias:
NS
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Path
Specifica il percorso dell'oggetto WMI di una classe WMI oppure specifica il percorso dell'oggetto WMI di un'istanza di una classe WMI.
La classe o l'istanza specificata deve contenere il metodo specificato nel parametro Name.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
path
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-ThrottleLimit
Specifica un valore di limitazione per il numero di operazioni WMI che possono essere eseguite contemporaneamente.
Questo parametro viene usato insieme al parametro AsJob .
Il limite di limitazione si applica solo al comando corrente, non alla sessione o al computer.
Proprietà dei parametri
Tipo:
Int32
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
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
-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.