Condividi tramite


Invoke-WmiMethod

Chiama i metodi di Strumentazione gestione Windows (WMI)

Sintassi

Invoke-WmiMethod [-Classe] <string> [[-ArgumentList] <Object[]>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod -InputObject <ManagementObject> [-ArgumentList <Object[]>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod -Path <string> [-ArgumentList <Object[]>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Descrizione

Il cmdlet Invoke-WmiMethod chiama i metodi WMI.

Parametri

-ArgumentList <Object[]>

Specifica i parametri da passare al metodo chiamato. Il valore di questo parametro deve essere una matrice di oggetti, i quali devono essere posti nell'ordine richiesto dal metodo chiamato.

Importante: è necessario indicare un secondo valore di $null, in caso contrario il comando genererà un errore, ad esempio "Impossibile eseguire il cast di oggetti di tipo 'System.Byte' sul tipo 'System.Array'".

Di seguito viene riportato un esempio di utilizzo di una matrice di oggetti ($binSD) seguita da un valore null ($null):

PS C:\> $acl = Get-Acl test.txt

PS C:\> $binSD = $acl.GetSecurityDescriptorBinaryForm()

PS C:\> invoke-wmimethod -class Win32_SecurityDescriptorHelper -Name BinarySDToSDDL -argumentlist $binSD, $null

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-AsJob

Esegue il comando come processo in background. Utilizzare questo parametro per eseguire comandi il cui completamento richiede molto tempo.

Quando si utilizza il parametro AsJob, il comando restituisce un oggetto che rappresenta il processo in background, quindi visualizza il prompt dei comandi. È possibile continuare a utilizzare la sessione fino al completamento 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 automaticamente restituiti nel computer locale. Per gestire il processo, utilizzare i cmdlet che contengono il nome Job (cmdlet Job). Per ottenere i risultati del processo, utilizzare il cmdlet Receive-Job.

Nota: per utilizzare questo parametro con computer remoti, è necessario configurare il computer locale e quello remoto per la comunicazione remota. È inoltre necessario avviare Windows PowerShell utilizzando l'opzione "Esegui come amministratore" di Windows Vista e delle versioni successive di Windows. Per ulteriori informazioni, vedere about_Remote_Requirements.

Per ulteriori informazioni sui processi in background di Windows PowerShell, vedere about_Jobs e about_Remote_Jobs.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Authentication <AuthenticationLevel>

Specifica il livello di autenticazione da utilizzare con la connessione WMI. I valori validi sono:

-1: Unchanged

0: Default

1: None (non viene eseguita alcuna autenticazione).

2: Connect (l'autenticazione viene eseguita solo quando il client stabilisce una relazione con l'applicazione).

3: Call (l'autenticazione viene eseguita solo all'inizio di ogni chiamata quando l'applicazione riceve la richiesta).

4: Packet (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 utilizzate le proprietà degli altri livelli di autenticazione e tutti i dati vengono crittografati).

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Authority <string>

Specifica l'autorità da utilizzare per autenticare la connessione WMI. È possibile specificare l'autenticazione NTLM o Kerberos standard. Per utilizzare NTLM, impostare l'autorità su ntlmdomain:<NomeDominio>, dove <NomeDominio> identifica un nome di dominio NTLM valido. Per utilizzare Kerberos, specificare kerberos:<NomeDominio\NomeServer>. Non è possibile includere l'impostazione Authority quando ci si connette al computer locale.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Classe <string>

Specifica la classe WMI che contiene un metodo statico da chiamare.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-ComputerName <string[]>

Specifica il computer in cui si desidera eseguire l'operazione di gestione. Il valore può essere un nome di dominio completo, un nome NetBIOS o un indirizzo IP (Internet Protocol). Utilizzare il nome del computer locale, localhost o un punto (.) per specificare il computer locale. Il valore predefinito è il computer locale. Quando il computer remoto si trova in un dominio diverso da quello dell'utente, è obbligatorio utilizzare un nome di dominio completo. È inoltre possibile impostare il valore di questo parametro reindirizzando il valore al parametro.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Credential <PSCredential>

Specifica un account utente con autorizzazione per l'esecuzione di questa azione. Il valore predefinito è l'utente corrente. Digitare un nome utente, ad esempio "Utente01", "Dominio01\Utente01" o Utente@Contoso.com. In alternativa, immettere un oggetto PSCredential, ad esempio uno restituito dal cmdlet Get-Credential. Quando si digita un nome utente, viene richiesta una password.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-EnableAllPrivileges

Abilita tutti i privilegi dell'utente corrente prima che il comando effettui la chiamata WMI.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Impersonation <ImpersonationLevel>

Specifica il livello di rappresentazione da utilizzare. I valori validi sono:

0: Default (legge il Registro di sistema locale per il livello di rappresentazione predefinito, in genere impostato su "3: Impersonate").

1: Anonymous (nasconde le credenziali del chiamante).

2: Identify (consente agli oggetti di eseguire query delle credenziali del chiamante).

3: Impersonate (consente agli oggetti di utilizzare le credenziali del chiamante).

4: Delegate (consente agli oggetti di permettere ad altri oggetti di utilizzare le credenziali del chiamante).

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-InputObject <ManagementObject>

Specifica un oggetto ManagementObject da utilizzare come input. Quando viene utilizzato questo parametro, tutti gli altri parametri tranne Flag e Argument vengono ignorati.

Obbligatorio?

true

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByValue)

Accettare caratteri jolly?

false

-Locale <string>

Specifica le impostazioni locali preferite per gli oggetti WMI. Specifica il valore del parametro Locale come matrice nel formato MS_<LCID> nell'ordine preferito.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Name <string>

Specifica il nome del metodo da richiamare. Questo parametro è obbligatorio e non può essere null o vuoto.

Obbligatorio?

true

Posizione?

2

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Spazio dei nomi <string>

Quando viene utilizzato con il parametro Class, questo parametro specifica lo spazio dei nomi dell'archivio WMI in cui si trova la classe WMI o l'oggetto a cui si fa riferimento.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Path <string>

Specifica il percorso dell'oggetto WMI di una classe o di un'istanza di una classe WMI. La classe o l'istanza che specificata deve contenere il metodo specificato nel parametro Name.

Obbligatorio?

true

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-ThrottleLimit <int>

Consente all'utente di specificare un valore di limitazione per il numero di operazioni WMI (Strumentazione gestione Windows) che è possibile eseguire contemporaneamente. Questo parametro viene utilizzato insieme al parametro AsJob. Il limite di velocità si applica solo al comando corrente, non alla sessione o al computer.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Confirm

Chiede una conferma prima di eseguire il comando.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-WhatIf

Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

Nessuno

Questo cmdlet non accetta alcun input.

Output

Nessuno

Questo cmdlet non genera alcun output.

Esempio 1

C:\PS>invoke-wmimethod -path win32_process -name create -argumentlist notepad.exe

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 2
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ProcessId        : 4844
ReturnValue      : 0

Descrizione
-----------
Con questo comando viene avviata un'istanza di Blocco note chiamando il metodo Create metodo della classe Win32_Process.

Nota: la proprietà ReturnValue viene compilata con uno 0 e la proprietà ProcessId viene compilata con un valore intero (il numero ID del processo successivo) se viene completato il comando.





Esempio 2

C:\PS>invoke-wmimethod -path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name Rename -ArgumentList "C:\scripts\test_bu.txt"

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0

Descrizione
-----------
Con questo comando viene rinominato un file. Viene utilizzato il parametro Path per fare riferimento a un'istanza della classe CIM_DataFile. Successivamente, viene applicato il metodo Rename a quella particolare istanza.

Nota: la proprietà ReturnValue viene compilata con uno 0 se viene completato il comando.





Vedere anche

Concetti

Get-WmiObject
Remove-WmiObject
Set-WmiInstance
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance