Partilhar via


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.xmlconté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.exeC:\. 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.xmlconté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

XmlElement

Este cmdlet devolve o resultado da operação como um objeto XmlElement .