Invoke-WSManAction
Richiama un'azione sull'oggetto specificato dall'URI della risorsa e dai selettori.
Sintassi
Invoke-WSManAction
[-Action] <String>
[-ConnectionURI <Uri>]
[-FilePath <String>]
[-OptionSet <Hashtable>]
[[-SelectorSet] <Hashtable>]
[-SessionOption <SessionOption>]
[-ValueSet <Hashtable>]
[-ResourceURI] <Uri>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Invoke-WSManAction
[-Action] <String>
[-ApplicationName <String>]
[-ComputerName <String>]
[-FilePath <String>]
[-OptionSet <Hashtable>]
[-Port <Int32>]
[[-SelectorSet] <Hashtable>]
[-SessionOption <SessionOption>]
[-UseSSL]
[-ValueSet <Hashtable>]
[-ResourceURI] <Uri>
[-Credential <PSCredential>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <String>]
[<CommonParameters>]
Descrizione
Questo cmdlet è disponibile solo nella piattaforma Windows.
Invoke-WSManAction
Esegue un'azione sull'oggetto specificato da RESOURCE_URI, dove i parametri vengono specificati dalle coppie chiave-valore.
Questo cmdlet usa il livello di connessione/trasporto WS-Man per eseguire l'azione.
Esempio
Esempio 1: Richiamare un metodo
Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service -SelectorSet @{name="spooler"} -Authentication default
xsi : http://www.w3.org/2001/XMLSchema-instance
p : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim : http://schemas.dmtf.org/wbem/wscim/1/common
lang : en-US
ReturnValue : 0
Questo comando chiama il metodo StartService dell'istanza della classe WMI Win32_Service che corrisponde al servizio Spooler.
Il valore restituito indica se l'azione è riuscita. In questo caso, il valore restituito pari a 0 indica che l'azione è riuscita. Un valore restituito pari a 5 indica che il servizio è già stato avviato.
Esempio 2: Richiamare un metodo
Invoke-WSManAction -Action stopservice -ResourceURI wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:input.xml -Authentication default
xsi : http://www.w3.org/2001/XMLSchema-instance
p : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim : http://schemas.dmtf.org/wbem/wscim/1/common
lang : en-US
ReturnValue : 0
Questo comando chiama il metodo StopService nel servizio Spooler usando l'input di un file.
Il file , Input.xml
, contiene il contenuto seguente:
<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />
Esempio 3: Richiamare un metodo con valori di parametro specificati
Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}
xsi : http://www.w3.org/2001/XMLSchema-instance
p : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Process
cim : http://schemas.dmtf.org/wbem/wscim/1/common
lang : en-US
ProcessId : 6356
ReturnValue : 0
Questo comando chiama il metodo Create della classe Win32_Process. Passa il metodo due valori dei parametri e Notepad.exe
C:\
. Di conseguenza, viene creato un nuovo processo per l'esecuzione del Blocco note e la directory corrente del nuovo processo è impostata su C:\
.
Esempio 4: Richiamare un metodo in un computer remoto
Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default
xsi : http://www.w3.org/2001/XMLSchema-instance
p : http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service
cim : http://schemas.dmtf.org/wbem/wscim/1/common
lang : en-US
ReturnValue : 0
Questo comando chiama il metodo StartService dell'istanza della classe WMI Win32_Service che corrisponde al servizio Spooler. Poiché il parametro ComputerName è specificato, il comando viene eseguito sul computer remoto server01.
Il valore restituito indica se l'azione è riuscita. In questo caso, il valore restituito pari a 0 indica che l'azione è riuscita. Un valore restituito pari a 5 indica che il servizio è già stato avviato.
Parametri
-Action
Specifica il metodo da eseguire sull'oggetto di gestione specificato dall'oggetto ResourceURI e dai selettori.
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ApplicationName
Specifica il nome dell'applicazione nella connessione. Il valore predefinito del parametro ApplicationName è WSMAN. L'identificatore completo per l'endpoint remoto è nel formato seguente:
<Transport>://<Server>:<Port>/<ApplicationName>
Ad esempio:
http://server01:8080/WSMAN
Internet Information Services (IIS) che ospita la sessione, inoltra le richieste con questo endpoint all'applicazione specificata. Questa impostazione predefinita di "WSMAN" è appropriata per la maggior parte degli utilizzi. Questo parametro è progettato per essere usato quando numerosi computer stabiliscono connessioni remote a un computer che esegue Windows PowerShell. In questo caso, IIS ospita Web Services for Management (WS-Management) per migliorare l'efficienza.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Authentication
Specifica il meccanismo di autenticazione da utilizzare nel server. I valori possibili sono:
Basic
- Basic è uno schema in cui il nome utente e la password vengono inviati in testo non crittografato al server o al proxy.Default
- Usare il metodo di autenticazione implementato dal protocollo WS-Management. Si tratta dell'impostazione predefinita.Digest
- Digest è uno schema challenge-response che usa una stringa di dati specificata dal server per la richiesta di verifica.Kerberos
- Il computer client e il server si autenticano a vicenda usando i certificati Kerberos.Negotiate
- Negotiate è uno schema challenge-response che negozia con il server o il proxy per determinare lo schema da usare per l'autenticazione. Ad esempio, il valore del parametro consente alla negoziazione di determinare se viene usato il protocollo Kerberos o NTLM.CredSSP
- Usare l'autenticazione CredSSP (Credential Security Support Provider), che consente all'utente di delegare le credenziali. Questa opzione è progettata per i comandi eseguiti in un computer remoto, ma che raccolgono i dati o eseguono comandi aggiuntivi in altri computer remoti.
Attenzione
CredSSP delega le credenziali dell'utente dal computer locale a un computer remoto. Questa pratica aumenta il rischio di sicurezza dell'operazione remota. Se il computer remoto viene compromesso, le credenziali che gli vengono passate possono essere usate per controllare la sessione di rete.
Tipo: | AuthenticationMechanism |
Alias: | auth, am |
Valori accettati: | None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-CertificateThumbprint
Specifica il certificato di chiave pubblica digitale (X509) di un account utente con autorizzazione per l'esecuzione di questa azione. Immettere l'identificazione personale del certificato.
I certificati vengono usati nell'autenticazione basata sui certificati client. Possono essere mappati solo ad account utente locali. Non funzionano con gli account di dominio.
Per ottenere un'identificazione personale del certificato, usare il Get-Item
comando o Get-ChildItem
nell'unità Certificato di Windows PowerShell: .
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ComputerName
Specifica il computer su cui eseguire l'operazione di gestione. Il valore può essere un nome di dominio completo, un nome NetBIOS o un indirizzo IP. Usare il nome del computer locale, usare localhost o usare un punto (.
) per specificare il computer locale. Il valore predefinito è il computer locale. Quando il computer remoto è in un dominio diverso dall'utente, è necessario usare un nome di dominio completo. È possibile inviare tramite pipe un valore per questo parametro al cmdlet.
Tipo: | String |
Alias: | cn |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ConnectionURI
Specifica l'endpoint della connessione. Il formato di questa stringa è il seguente:
<Transport>://<Server>:<Port>/<ApplicationName>
La stringa seguente è un valore formattato correttamente per questo parametro:
http://Server01:8080/WSMAN
L'URI deve essere completo.
Tipo: | Uri |
Alias: | CURI, CU |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Credential
Specifica un account utente che dispone delle autorizzazioni per eseguire questa azione. Il valore predefinito è l'utente corrente. Digitare un nome utente, ad esempio "User01", "Domain01\User01" o User@Domain.com. In alternativa, immettere un oggetto PSCredential, ad esempio quello restituito dal Get-Credential
cmdlet . Quando si digita un nome utente, viene richiesta una password.
Tipo: | PSCredential |
Alias: | cred, c |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-FilePath
Specifica il percorso di un file che viene usato per aggiornare una risorsa di gestione. È possibile specificare la risorsa di gestione usando il parametro ResourceURI e il parametro SelectorSet. Il comando seguente, ad esempio, usa il parametro FilePath:
Invoke-WSManAction -Action stopservice -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default
Questo comando chiama il metodo StopService nel servizio Spooler usando l'input di un file. Il file , Input.xml
, contiene il contenuto seguente:
<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />
Tipo: | String |
Alias: | Path |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-OptionSet
Passa un set di opzioni a un servizio per modificare oppure ottimizzare la natura della richiesta. Sono simili alle opzioni usate nelle shell della riga di comando, in quanto sono specifiche del servizio. È possibile specificare qualsiasi numero di opzioni.
L'esempio seguente illustra la sintassi che passa i valori 1, 2 e 3 per i parametri a, b e c:
-OptionSet @{a=1;b=2;c=3}
Tipo: | Hashtable |
Alias: | os |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Port
Specifica la porta da usare quando il client stabilisce la connessione al servizio Gestione remota Windows. Quando il trasporto è HTTP, la porta predefinita è 80. Quando il trasporto è HTTPS, la porta predefinita è 443. Quando si usa HTTPS come trasporto, il valore del parametro ComputerName deve corrispondere al nome comune del certificato (CN) del server. Tuttavia, se il parametro SkipCNCheck è specificato come parte del parametro SessionOption, il nome comune del certificato del server non deve corrispondere al nome host del server. Il parametro SkipCNCheck deve essere usato solo per i computer attendibili.
Tipo: | Int32 |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ResourceURI
Contiene l'URI (Uniform Resource Identifier) della classe di risorse o istanza. L'URI viene usato per identificare un tipo specifico di risorsa, ad esempio i dischi o i processi, in un computer specifico.
Un URI è costituito da un prefisso e un percorso di una risorsa. Ad esempio:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor
Tipo: | Uri |
Alias: | ruri |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-SelectorSet
Specifica un set di coppie valori usate per selezionare particolari istanze di risorse di gestione. SelectorSet viene usato quando esiste più di un'istanza della risorsa. Il valore di SelectorSet deve essere una tabella hash.
L'esempio seguente illustra come immettere un valore per questo parametro:
-SelectorSet @{Name="WinRM";ID="yyy"}
Tipo: | Hashtable |
Posizione: | 2 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-SessionOption
Definisce un set di opzioni estese per la sessione di WS-Management. Immettere un oggetto SessionOption creato usando il New-WSManSessionOption
cmdlet . Per altre informazioni sulle opzioni disponibili, vedere New-WSManSessionOption
.
Tipo: | SessionOption |
Alias: | so |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-UseSSL
Specifica che il protocollo SSL (Secure Sockets Layer) viene usato per stabilire una connessione al computer remoto. Per impostazione predefinita SSL non viene utilizzato.
WS-Management crittografa tutto il contenuto di PowerShell trasmesso in rete. Il parametro UseSSL consente di specificare la protezione aggiuntiva del protocollo HTTPS anziché HTTP. Se SSL non è disponibile sulla porta usata per la connessione e si specifica questo parametro, il comando non riesce.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ValueSet
Specifica una tabella hash che consente di modificare una risorsa di gestione. Specificare la risorsa di gestione usando i parametri ResourceURI e SelectorSet . Il valore del parametro ValueSet deve essere una tabella hash.
Tipo: | Hashtable |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
Questo cmdlet restituisce il risultato dell'operazione come oggetto XmlElement .