Invoke-WSManAction
Invoca uma ação no objeto que é especificada pelo URI do Recurso e pelos seletores.
Syntax
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>]
Description
Este cmdlet só está disponível na plataforma do Windows.
A Invoke-WSManAction
executa uma ação no objeto que é especificada por RESOURCE_URI, em que os parâmetros são especificados por pares de valores chave.
Este cmdlet utiliza a camada de ligação/transporte WSMan para executar a ação.
Exemplos
Exemplo 1: Invocar um método
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
Este comando chama o método StartService da Win32_Service instância de classe WMI que corresponde ao serviço Spooler.
O valor devolvido indica se a ação foi bem-sucedida. Neste caso, um valor devolvido de 0 indica êxito. Um valor devolvido de 5 indica que o serviço já foi iniciado.
Exemplo 2: Invocar um método
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
Este comando chama o método StopService no serviço Spooler através da entrada de um ficheiro.
O ficheiro , Input.xml
contém o seguinte conteúdo:
<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />
Exemplo 3: Invocar um método com valores de parâmetro especificados
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
Este comando chama o método Create da classe Win32_Process. Transmite o método dois valores de parâmetros e Notepad.exe
C:\
. Como resultado, é criado um novo processo para executar o Bloco de Notas e o diretório atual do novo processo está definido como C:\
.
Exemplo 4: Invocar um método num computador 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
Este comando chama o método StartService da Win32_Service instância de classe WMI que corresponde ao serviço Spooler. Uma vez que o parâmetro ComputerName é especificado, o comando é executado no computador servidor remoto01.
O valor devolvido indica se a ação foi bem-sucedida. Neste caso, um valor devolvido de 0 indica êxito. Um valor devolvido de 5 indica que o serviço já foi iniciado.
Parâmetros
-Action
Especifica o método a executar no objeto de gestão especificado pelo ResourceURI e pelos seletores.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ApplicationName
Especifica o nome da aplicação na ligação. O valor predefinido do parâmetro ApplicationName é WSMAN. O identificador completo do ponto final remoto está no seguinte formato:
<Transport>://<Server>:<Port>/<ApplicationName>
Por exemplo:
http://server01:8080/WSMAN
Os Serviços de Informação Internet (IIS), que aloja a sessão, reencaminham os pedidos com este ponto final para a aplicação especificada. Esta predefinição de "WSMAN" é adequada para a maioria das utilizações. Este parâmetro foi concebido para ser utilizado quando vários computadores estabelecem ligações remotas a um computador com Windows PowerShell. Neste caso, o IIS aloja os Serviços Web para Gestão (WS-Management) para eficiência.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Authentication
Especifica o mecanismo de autenticação a ser utilizado no servidor. Os valores possíveis são:
Basic
- Básico é um esquema no qual o nome de utilizador e a palavra-passe são enviados em texto não encriptado para o servidor ou proxy.Default
- Utilize o método de autenticação implementado pelo protocolo WS-Management. Esta é a predefinição.Digest
- Resumo é um esquema de resposta a desafios que utiliza uma cadeia de dados especificada pelo servidor para o desafio.Kerberos
- O computador cliente e o servidor autenticam-se mutuamente através de certificados Kerberos.Negotiate
- Negociar é um esquema de resposta a desafios que negoceia com o servidor ou proxy para determinar o esquema a utilizar para autenticação. Por exemplo, este valor de parâmetro permite a negociação para determinar se o protocolo Kerberos ou NTLM é utilizado.CredSSP
- Utilize a autenticação do Fornecedor de Suporte de Segurança de Credenciais (CredSSP), que permite ao utilizador delegar credenciais. Esta opção foi concebida para comandos executados num computador remoto, mas que recolhem dados ou executam comandos adicionais noutros computadores remotos.
Atenção
CredSSP delega as credenciais do utilizador do computador local para um computador remoto. Esta prática aumenta o risco de segurança da operação remota. Se o computador remoto for comprometido, quando as credenciais forem transmitidas para o mesmo, as credenciais podem ser utilizadas para controlar a sessão de rede.
Type: | AuthenticationMechanism |
Aliases: | auth, am |
Accepted values: | None, Default, Digest, Negotiate, Basic, Kerberos, ClientCertificate, Credssp |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CertificateThumbprint
Especifica o certificado de chave pública digital (X509) de uma conta de utilizador que tem permissão para efetuar esta ação. Introduza o thumbprint do certificado.
Os certificados são utilizados na autenticação baseada em certificados de cliente. Só podem ser mapeadas para contas de utilizador locais; não funcionam com contas de domínio.
Para obter um thumbprint de certificado, utilize o Get-Item
comando ou Get-ChildItem
na unidade Windows PowerShell Cert: .
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Especifica o computador no qual pretende executar a operação de gestão. O valor pode ser um nome de domínio completamente qualificado, um nome NetBIOS ou um endereço IP. Utilize o nome do computador local, utilize localhost ou utilize um ponto (.
) para especificar o computador local. O computador local é a predefinição. Quando o computador remoto está num domínio diferente do utilizador, tem de utilizar um nome de domínio completamente qualificado. Pode encaminhar um valor para este parâmetro para o cmdlet .
Type: | String |
Aliases: | cn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ConnectionURI
Especifica o ponto final de ligação. O formato desta cadeia é:
<Transport>://<Server>:<Port>/<ApplicationName>
A cadeia seguinte é um valor formatado corretamente para este parâmetro:
http://Server01:8080/WSMAN
O URI tem de estar completamente qualificado.
Type: | Uri |
Aliases: | CURI, CU |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Especifica uma conta de utilizador com permissão para efetuar esta ação. A predefinição é o utilizador atual. Escreva um nome de utilizador, como "Utilizador01", "Domínio01\Utilizador01" ou User@Domain.com. Em alternativa, introduza um objeto PSCredential, como um devolvido pelo Get-Credential
cmdlet . Quando escreve um nome de utilizador, ser-lhe-á pedida uma palavra-passe.
Type: | PSCredential |
Aliases: | cred, c |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-FilePath
Especifica o caminho de um ficheiro que é utilizado para atualizar um recurso de gestão. Especifique o recurso de gestão com o parâmetro ResourceURI e o parâmetro SelectorSet. Por exemplo, o seguinte comando utiliza o parâmetro FilePath:
Invoke-WSManAction -Action stopservice -ResourceUri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath c:\input.xml -Authentication default
Este comando chama o método StopService no serviço Spooler através da entrada de um ficheiro. O ficheiro , Input.xml
contém o seguinte conteúdo:
<p:StopService_INPUT xmlns:p="http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />
Type: | String |
Aliases: | Path |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OptionSet
Transmite um conjunto de comutadores para um serviço para modificar ou refinar a natureza do pedido. Estes parâmetros são semelhantes aos comutadores utilizados em shells de linha de comandos porque são específicos do serviço. Qualquer número de opções pode ser especificado.
O exemplo seguinte demonstra a sintaxe que transmite os valores 1, 2 e 3 para os parâmetros a, b e c:
-OptionSet @{a=1;b=2;c=3}
Type: | Hashtable |
Aliases: | os |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Port
Especifica a porta a utilizar quando o cliente se ligar ao serviço WinRM. Quando o transporte é HTTP, a porta predefinida é 80. Quando o transporte é HTTPS, a porta predefinida é 443. Quando utiliza HTTPS como transporte, o valor do parâmetro ComputerName tem de corresponder ao nome comum (CN) do certificado do servidor. No entanto, se o parâmetro SkipCNCheck for especificado como parte do parâmetro SessionOption, o nome comum do certificado do servidor não tem de corresponder ao nome do anfitrião do servidor. O parâmetro SkipCNCheck deve ser utilizado apenas para computadores fidedignos.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceURI
Contém o Uniform Resource Identifier (URI) da classe de recursos ou instância. O URI é utilizado para identificar um tipo específico de recurso, como discos ou processos, num computador.
Um URI consiste num prefixo e num caminho para um recurso. Por exemplo:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_NumericSensor
Type: | Uri |
Aliases: | ruri |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SelectorSet
Especifica um conjunto de pares de valores que são utilizados para selecionar instâncias de recursos de gestão específicas. SelectorSet é utilizado quando existe mais do que uma instância do recurso. O valor de SelectorSet tem de ser uma tabela hash.
O exemplo seguinte mostra como introduzir um valor para este parâmetro:
-SelectorSet @{Name="WinRM";ID="yyy"}
Type: | Hashtable |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SessionOption
Define um conjunto de opções expandidas para a sessão de WS-Management. Introduza um objeto SessionOption que criar com o New-WSManSessionOption
cmdlet . Para obter mais informações sobre as opções disponíveis, consulte New-WSManSessionOption
.
Type: | SessionOption |
Aliases: | so |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseSSL
Especifica que o protocolo SSL (Secure Sockets Layer) é utilizado para estabelecer uma ligação ao computador remoto. Por predefinição, o SSL não é utilizado.
WS-Management encripta todo o conteúdo do PowerShell que é transmitido através da rede. O parâmetro UseSSL permite-lhe especificar a proteção adicional de HTTPS em vez de HTTP. Se o SSL não estiver disponível na porta utilizada para a ligação e especificar este parâmetro, o comando falhará.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ValueSet
Especifica uma tabela hash que ajuda a modificar um recurso de gestão. Especifique o recurso de gestão com os parâmetros ResourceURI e SelectorSet . O valor do parâmetro ValueSet tem de ser uma tabela hash.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
Não pode encaminhar objetos para este cmdlet.
Saídas
Este cmdlet devolve o resultado da operação como um objeto XmlElement .