Compartilhar via


Invoke-WSManAction

Invoca uma ação no objeto especificado pelo URI do Recurso e pelos seletores.

Sintaxe

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

O Invoke-WSManAction executa uma ação no objeto especificado por RESOURCE_URI, em que os parâmetros são especificados por pares de valor de chave.

Esse cmdlet usa a camada de conexão/transporte do WSMan para executar a ação.

Exemplos

Exemplo 1

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://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

Esse comando chama o método StartService da instância da classe WMI Win32_Service que corresponde ao serviço Spooler.

O valor retornado indica se a ação foi bem-sucedida. Nesse caso, um valor retornado de 0 indica êxito. Um valor retornado de 5 indica que o serviço já foi iniciado.

Exemplo 2

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           : https://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

Esse comando chama o método StopService no serviço Spooler usando a entrada de um arquivo. O arquivo, Input.xml, contém o seguinte conteúdo:

<p:StopService_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

O valor retornado indica se a ação foi bem-sucedida. Nesse caso, um valor retornado de 0 indica êxito. Um valor retornado de 5 indica que o serviço já foi iniciado.

Exemplo 3

Invoke-WSManAction -Action create -ResourceURI wmicimv2/win32_process -ValueSet @{commandline="notepad.exe";currentdirectory="C:\"}

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://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

Esse comando chama o método Create da classe Win32_Process. Ele passa o método dois valores de parâmetro, Notepad.exe e "C:". Como resultado, um novo processo é criado para executar o Bloco de Notas e o diretório atual do novo processo é definido como "C:".

Exemplo 4

Invoke-WSManAction -Action startservice -ResourceURI wmicimv2/win32_service  -SelectorSet @{name="spooler"} -ComputerName server01 -Authentication default

xsi         : http://www.w3.org/2001/XMLSchema-instance
p           : https://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

Esse comando chama o método StartService da instância da classe WMI Win32_Service que corresponde ao serviço Spooler. Como o parâmetro ComputerName é especificado, o comando é executado no computador do servidor remoto01.

O valor retornado indica se a ação foi bem-sucedida. Nesse caso, um valor retornado de 0 indica êxito. Um valor retornado de 5 indica que o serviço já foi iniciado.

Parâmetros

-Action

Especifica o método a ser executado no objeto de gerenciamento especificado pelo ResourceURI e pelos seletores.

Tipo:String
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ApplicationName

Especifica o nome do aplicativo na conexão. O valor padrão do parâmetro ApplicationName é WSMAN. O identificador completo do ponto de extremidade remoto está no seguinte formato:

< >de transporte :///>de servidor de<:>de porta</<ApplicationName>

Por exemplo:

http://server01:8080/WSMAN

O IIS (Serviços de Informações da Internet), que hospeda a sessão, encaminha solicitações com esse ponto de extremidade para o aplicativo especificado. Essa configuração padrão de "WSMAN" é apropriada para a maioria dos usos. Esse parâmetro foi projetado para ser usado quando vários computadores estabelecem conexões remotas com um computador que executa o Windows PowerShell. Nesse caso, o IIS hospeda os Serviços Web para Gerenciamento (WS-Management) para obter eficiência.

Tipo:String
Cargo:Named
Valor padrão:Wsman
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Authentication

Especifica o mecanismo de autenticação a ser usado no servidor. Os valores possíveis são:

  • Básico: Básico é um esquema no qual o nome de usuário e a senha são enviados em texto claro para o servidor ou proxy.
  • Padrão: use o método de autenticação implementado pelo protocolo WS-Management. Esse é o padrão.
  • Digest: Digest é um esquema de desafio-resposta que usa uma cadeia de dados especificada pelo servidor para o desafio.
  • Kerberos: o computador cliente e o servidor se autenticam mutuamente usando certificados Kerberos.
  • Negociar: Negociar é um esquema de desafio-resposta que negocia com o servidor ou proxy para determinar o esquema a ser usado para autenticação. Por exemplo, esse valor de parâmetro permite que a negociação determine se o protocolo Kerberos ou NTLM é usado.
  • CredSSP: use a autenticação credSSP (Provedor de Suporte à Segurança de Credencial), que permite ao usuário delegar credenciais. Essa opção foi projetada para comandos executados em um computador remoto, mas coletam dados ou executam comandos adicionais em outros computadores remotos.

Cuidado: o CredSSP delega as credenciais do usuário do computador local para um computador remoto. Essa prática aumenta o risco de segurança da operação remota. Se o computador remoto estiver comprometido, quando as credenciais forem passadas para ele, as credenciais poderão ser usadas para controlar a sessão de rede.

Tipo:AuthenticationMechanism
Aliases:auth, am
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-CertificateThumbprint

Especifica o certificado de chave pública digital (X509) de uma conta de usuário que tem permissão para executar essa ação. Insira a impressão digital do certificado.

Os certificados são usados na autenticação baseada em certificado do cliente. Eles podem ser mapeados apenas para contas de usuário local; eles não funcionam com contas de domínio.

Para obter uma impressão digital de certificado, use o comando Get-Item ou Get-ChildItem no Certificado do Windows PowerShell: unidade.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ComputerName

Especifica o computador no qual você deseja executar a operação de gerenciamento. O valor pode ser um nome de domínio totalmente qualificado, um nome NetBIOS ou um endereço IP. Use o nome do computador local, use localhost ou use um ponto (.) para especificar o computador local. O computador local é o padrão. Quando o computador remoto estiver em um domínio diferente do usuário, você deverá usar um nome de domínio totalmente qualificado. Você pode redirecionar um valor para esse parâmetro para o cmdlet.

Tipo:String
Aliases:cn
Cargo:Named
Valor padrão:Localhost
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ConnectionURI

Especifica o ponto de extremidade de conexão. O formato dessa cadeia de caracteres é:

>de Transporte <:///>do Servidor<:<>de Porta/<ApplicationName>

A seguinte cadeia de caracteres é um valor formatado corretamente para este parâmetro:

http://Server01:8080/WSMAN

O URI deve ser totalmente qualificado.

Tipo:Uri
Aliases:CURI, CU
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Credential

Especifica uma conta de usuário que tem permissão para executar essa ação. O padrão é o usuário atual. Digite um nome de usuário, como "User01", "Domain01\User01" ou User@Domain.com. Ou insira um objeto PSCredential, como um retornado pelo cmdlet Get-Credential. Quando você digitar um nome de usuário, será solicitado que você solicite uma senha.

Tipo:PSCredential
Aliases:cred, c
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-FilePath

Especifica o caminho de um arquivo usado para atualizar um recurso de gerenciamento. Especifique o recurso de gerenciamento usando o parâmetro ResourceURI e o parâmetro SelectorSet. Por exemplo, o seguinte comando usa o parâmetro FilePath:

invoke-wsmanaction -action stopservice -resourceuri wmicimv2/Win32_Service -SelectorSet @{Name="spooler"} -FilePath:c:\input.xml -authentication padrão

Esse comando chama o método StopService no serviço Spooler usando a entrada de um arquivo. O arquivo, Input.xml, contém o seguinte conteúdo:

<p:StopService_INPUT xmlns:p="https://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_Service" />

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-OptionSet

Passa um conjunto de opções para um serviço para modificar ou refinar a natureza da solicitação. Eles são semelhantes aos comutadores usados em shells de linha de comando porque são específicos do serviço. Qualquer número de opções pode ser especificado.

O exemplo a seguir demonstra a sintaxe que passa os valores 1, 2 e 3 para os parâmetros a, b e c:

-OptionSet @{a=1; b=2; c=3}

Tipo:Hashtable
Aliases:os
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Port

Especifica a porta a ser usada quando o cliente se conecta ao serviço WinRM. Quando o transporte é HTTP, a porta padrão é 80. Quando o transporte é HTTPS, a porta padrão é 443. Quando você usa HTTPS como transporte, o valor do parâmetro ComputerName deve corresponder ao CN (nome comum 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 precisará corresponder ao nome do host do servidor. O parâmetro SkipCNCheck deve ser usado apenas para computadores confiáveis.

Tipo:Int32
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ResourceURI

Contém o URI (Uniform Resource Identifier) da classe de recurso ou instância. O URI é usado para identificar um tipo específico de recurso, como discos ou processos, em um computador.

Um URI consiste em um prefixo e um caminho para um recurso. Por exemplo:

https://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
Aliases:ruri
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-SelectorSet

Especifica um conjunto de pares de valor que são usados para selecionar instâncias de recurso de gerenciamento específicas. de Conjunto de Seletores é usado quando há mais de uma instância do recurso. O valor de SelectorSet deve ser uma tabela de hash.

O exemplo a seguir mostra como inserir um valor para este parâmetro:

-SelectorSet @{Name="WinRM";ID="yyy"}

Tipo:Hashtable
Cargo:2
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-SessionOption

Define um conjunto de opções estendidas para a sessão de WS-Management. Insira um objeto SessionOption criado usando o cmdlet New-WSManSessionOption. Para obter mais informações sobre as opções disponíveis, consulte New-WSManSessionOption.

Tipo:SessionOption
Aliases:so
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-UseSSL

Especifica que o protocolo SSL (Secure Sockets Layer) é usado para estabelecer uma conexão com o computador remoto. Por padrão, o SSL não é usado.

WS-Management criptografa todo o conteúdo do PowerShell transmitido pela rede. O parâmetro UseSSL permite especificar a proteção adicional de HTTPS em vez de HTTP. Se o SSL não estiver disponível na porta usada para a conexão e você especificar esse parâmetro, o comando falhará.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ValueSet

Especifica uma tabela de hash que ajuda a modificar um recurso de gerenciamento. Especifique o recurso de gerenciamento usando os parâmetros ResourceURI e SelectorSet. O valor do parâmetro ValueSet deve ser uma tabela de hash.

Tipo:Hashtable
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Esse cmdlet não aceita nenhuma entrada.

Saídas

None

Esse cmdlet não gera nenhuma saída.