Partilhar via


Invoke-RestMethod

Envia uma solicitação HTTP ou HTTPS para um serviço Web RESTful.

Sintaxe

Default (Predefinição)

Invoke-RestMethod
    [-Method <WebRequestMethod>]
    [-UseBasicParsing]
    [-Uri] <Uri>
    [-WebSession <WebRequestSession>]
    [-SessionVariable <String>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-CertificateThumbprint <String>]
    [-Certificate <X509Certificate>]
    [-UserAgent <String>]
    [-DisableKeepAlive]
    [-TimeoutSec <Int32>]
    [-Headers <IDictionary>]
    [-MaximumRedirection <Int32>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-ProxyUseDefaultCredentials]
    [-Body <Object>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [<CommonParameters>]

Description

O cmdlet Invoke-RestMethod envia solicitações HTTP e HTTPS para serviços Web REST (Representational State Transfer) que retornam dados ricamente estruturados.

O PowerShell formata a resposta com base no tipo de dados. Para um feed RSS ou ATOM, o PowerShell retorna os nós XML de Item ou Entrada. Para JavaScript Object Notation (JSON) ou XML, o PowerShell converte ou desserializa o conteúdo em objetos [pscustomobject]. Comentários não são permitidos nos dados JSON.

Advertência

Por padrão, Invoke-RestMethod analisa o conteúdo da página da Web. O código de script na página da Web pode ser executado quando a página é analisada. Use o switch para evitar a execução de -UseBasicParsing código de script.

Este cmdlet é introduzido no Windows PowerShell 3.0. Este comando pode ser executado usando o irm alias.

Exemplos

Exemplo 1: Obter o feed RSS do PowerShell

Invoke-RestMethod -Uri https://devblogs.microsoft.com/powershell/feed/ |
  Format-Table -Property Title, pubDate
Title                                                                pubDate
-----                                                                -------
Join the PowerShell 10th Anniversary Celebration!                    Tue, 08 Nov 2016 23:00:04 +0000
DSC Resource Kit November 2016 Release                               Thu, 03 Nov 2016 00:19:07 +0000
PSScriptAnalyzer Community Call - Oct 18, 2016                       Thu, 13 Oct 2016 17:52:35 +0000
New Home for In-Box DSC Resources                                    Sat, 08 Oct 2016 07:13:10 +0000
New Social Features on Gallery                                       Fri, 30 Sep 2016 23:04:34 +0000
PowerShellGet and PackageManagement in PowerShell Gallery and GitHub Thu, 29 Sep 2016 22:21:42 +0000
PowerShell Security at DerbyCon                                      Wed, 28 Sep 2016 01:13:19 +0000
DSC Resource Kit September Release                                   Thu, 22 Sep 2016 00:25:37 +0000
PowerShell DSC and implicit remoting broken in KB3176934             Tue, 23 Aug 2016 15:07:50 +0000
PowerShell on Linux and Open Source!                                 Thu, 18 Aug 2016 15:32:02 +0000

Este comando usa o cmdlet Invoke-RestMethod para obter informações do feed RSS do Blog do PowerShell. O comando usa o cmdlet Format-Table para exibir os valores das propriedades Title e pubDate de cada blog numa tabela.

Exemplo 2

No exemplo a seguir, um usuário executa Invoke-RestMethod para executar uma solicitação POST em um site da intranet na organização do usuário.

$Cred = Get-Credential

# Next, allow the use of self-signed SSL certificates.

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }

# Create variables to store the values consumed by the Invoke-RestMethod command.
# The search variable contents are later embedded in the body variable.

$Server = 'server.contoso.com'
$Url = "https://${server}:8089/services/search/jobs/export"
$Search = "search index=_internal | reverse | table index,host,source,sourcetype,_raw"

# The cmdlet handles URL encoding. The body variable describes the search criteria, specifies CSV as
# the output mode, and specifies a time period for returned data that starts two days ago and ends
# one day ago. The body variable specifies values for parameters that apply to the particular REST
# API with which Invoke-RestMethod is communicating.

$Body = @{
    search = $Search
    output_mode = "csv"
    earliest_time = "-2d@d"
    latest_time = "-1d@d"
}

# Now, run the Invoke-RestMethod command with all variables in place, specifying a path and file
# name for the resulting CSV output file.

Invoke-RestMethod -Method Post -Uri $url -Credential $Cred -Body $body -OutFile output.csv

{"preview":true,"offset":0,"result":{"sourcetype":"contoso1","count":"9624"}}

{"preview":true,"offset":1,"result":{"sourcetype":"contoso2","count":"152"}}

{"preview":true,"offset":2,"result":{"sourcetype":"contoso3","count":"88494"}}

{"preview":true,"offset":3,"result":{"sourcetype":"contoso4","count":"15277"}}

Exemplo 3: Passar vários cabeçalhos

Este exemplo demonstra como passar vários cabeçalhos de um hash-table para uma API REST.

$headers = @{
    'userId' = 'UserIDValue'
    'token' = 'TokenValue'
}
Invoke-RestMethod -Uri $uri -Method Post -Headers $headers -Body $body

As APIs geralmente exigem cabeçalhos passados para autenticação, validação, etc.

Exemplo 3: Enviando dados de formulário

Quando o corpo é um formulário ou é a saída de outra chamada de Invoke-WebRequest, o PowerShell define o conteúdo da solicitação para os campos de formulário.

Por exemplo:

$R = Invoke-WebRequest https://website.com/login.aspx
$R.Forms[0].Name = "MyName"
$R.Forms[0].Password = "MyPassword"
Invoke-RestMethod https://website.com/service.aspx -Body $R.Forms[0]

Exemplo 4: Enumerar itens retornados no pipeline

O GitHub retorna vários objetos em uma matriz. Se você canalizar a saída para outro comando, ela será enviada como um único objeto [Object[]].

Para enumerar os objetos no pipeline, canalize os resultados para Write-Output ou encapsule o cmdlet em parênteses. O exemplo a seguir conta o número de objetos retornados pelo GitHub. Em seguida, conta o número de objetos enumerados no pipeline.

$uri = 'https://api.github.com/repos/microsoftdocs/powershell-docs/issues'
$x = 0
Invoke-RestMethod -Uri $uri | ForEach-Object { $x++ }
$x
1

$x = 0
(Invoke-RestMethod -Uri $uri) | ForEach-Object { $x++ }
$x
30

$x = 0
Invoke-RestMethod -Uri $uri | Write-Output | ForEach-Object { $x++ }
$x
30

Parâmetros

-Body

Especifica o corpo da solicitação. O corpo é o conteúdo da solicitação que segue os cabeçalhos. Você também pode encaminhar um valor do corpo para Invoke-RestMethod.

O parâmetro Body pode ser usado para especificar uma lista de parâmetros de consulta ou especificar o conteúdo do .

pedido. Quando a entrada é uma solicitação GET e o corpo é um IDiccionário (normalmente, uma tabela de hash), o corpo é adicionado ao URI como parâmetros de consulta. Para outros tipos de solicitação (como POST), o corpo é definido como o valor do corpo da solicitação no formato padrão name=value.

Advertência

A saída detalhada do conteúdo de um POST terminará com with -1-byte payload, embora o tamanho do conteúdo seja conhecido e enviado no cabeçalho HTTP Content-Length.

Propriedades dos parâmetros

Tipo:Object
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Certificate

Especifica o certificado de cliente usado para uma solicitação da Web segura. Insira uma variável que contenha um certificado ou um comando ou expressão que obtenha o certificado.

Para localizar um certificado, use Get-PfxCertificate ou use o cmdlet Get-ChildItem na unidade Certificate (Cert:). Se o certificado não for válido ou não tiver autoridade suficiente, o comando falhará.

Propriedades dos parâmetros

Tipo:X509Certificate
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-CertificateThumbprint

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

Os certificados são usados na autenticação baseada em certificado de cliente. Os certificados só podem ser mapeados para contas de usuário locais, não para contas de domínio.

Para ver a impressão digital do certificado, use o comando Get-Item ou Get-ChildItem para localizar o certificado no Cert:\CurrentUser\My.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ContentType

Especifica o tipo de conteúdo da solicitação da Web.

Se o valor de ContentType contiver o formato de codificação (como charset), o cmdlet usará esse formato para codificar o corpo da solicitação da Web. Se o ContentType não especificar um formato de codificação, o formato de codificação padrão será usado. Um exemplo de um ContentType com um formato de codificação é text/plain; charset=iso-8859-5, que especifica o alfabeto latino/cirílico.

Se você omitir o parâmetro, o tipo de conteúdo pode ser diferente com base no método HTTP usado:

  • Para um método POST, o tipo de conteúdo é application/x-www-form-urlencoded
  • Para um método PUT, o tipo de conteúdo é application/json
  • Para outros métodos, o tipo de conteúdo não é especificado na solicitação

Se você estiver usando o parâmetro InFile para carregar um arquivo, defina o tipo de conteúdo. Normalmente, o tipo deve ser application/octet-stream. No entanto, você precisa definir o tipo de conteúdo com base nos requisitos do ponto de extremidade.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Credential

Especifica uma conta de usuário que tem permissão para enviar a solicitação. O padrão é o usuário atual.

Digite um nome de usuário, como User01 ou Domain01\User01, ou insira um objeto PSCredential gerado pelo cmdlet Get-Credential.

As credenciais são armazenadas num objeto PSCredential e a palavra-passe é armazenada como uma SecureString.

Observação

Para obter mais informações sobre SecureString proteção de dados, consulte Quão seguro é o SecureString?.

Propriedades dos parâmetros

Tipo:PSCredential
Default value:Current user
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-DisableKeepAlive

Define o valor de KeepAlive no cabeçalho HTTP como False. Por padrão, KeepAlive é True. KeepAlive estabelece uma conexão persistente com o servidor para facilitar solicitações subsequentes.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Headers

Especifica os cabeçalhos da solicitação da Web. Insira uma tabela de hash ou dicionário.

Para definir cabeçalhos UserAgent, use o parâmetro UserAgent. Não é possível usar esse parâmetro para especificar UserAgent ou cabeçalhos de cookies.

Propriedades dos parâmetros

Tipo:IDictionary
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-InFile

Obtém o conteúdo do corpo da solicitação da Web de um arquivo. Insira um caminho e um nome de arquivo. Se você omitir o caminho, o padrão será o local atual.

Você também precisa definir o tipo de conteúdo da solicitação. Por exemplo, para carregar um arquivo, você deve definir o tipo de conteúdo. Normalmente, o tipo deve ser application/octet-stream. No entanto, você precisa definir o tipo de conteúdo com base nos requisitos do ponto de extremidade.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-MaximumRedirection

Determina quantas vezes o Windows PowerShell redireciona uma conexão para um URI (Uniform Resource Identifier) alternativo antes que a conexão falhe. O valor padrão é 5. Um valor de 0 (zero) impede todo o redirecionamento.

Propriedades dos parâmetros

Tipo:Int32
Default value:5
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Method

Especifica o método usado para a solicitação da Web. Os valores aceitáveis para este parâmetro são:

  • Default
  • Delete
  • Get
  • Head
  • Merge
  • Options
  • Patch
  • Post
  • Put
  • Trace

Propriedades dos parâmetros

Tipo:WebRequestMethod
Default value:Default
Valores aceites:Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-OutFile

Salva o corpo da resposta no arquivo de saída especificado. Insira um caminho e um nome de arquivo. Se você omitir o caminho, o padrão será o local atual.

Por padrão, Invoke-RestMethod retorna os resultados para o pipeline.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-PassThru

Esse parâmetro é válido somente quando o parâmetro OutFile também é usado no comando. A intenção é ter os resultados gravados no arquivo e no pipeline.

Observação

Quando utiliza o parâmetro PassThru, a saída é gravada no pipeline, mas o ficheiro fica vazio. Para obter mais informações, consulte PowerShell Issue #15409.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:No output
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Proxy

Usa um servidor proxy para a solicitação, em vez de se conectar diretamente ao recurso da Internet. Insira o URI de um servidor proxy de rede.

Propriedades dos parâmetros

Tipo:Uri
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ProxyCredential

Especifica uma conta de usuário que tem permissão para usar o servidor proxy especificado pelo parâmetro Proxy. O padrão é o usuário atual.

Digite um nome de usuário, como "User01" ou "Domain01\User01", ou insira um objeto PSCredential, como um gerado pelo cmdlet Get-Credential.

Esse parâmetro é válido somente quando o parâmetro Proxy também é usado no comando. Não é possível usar os parâmetros ProxyCredential e ProxyUseDefaultCredentials no mesmo comando.

Propriedades dos parâmetros

Tipo:PSCredential
Default value:Current user
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-ProxyUseDefaultCredentials

Usa as credenciais do usuário atual para acessar o servidor proxy especificado pelo parâmetro Proxy.

Esse parâmetro é válido somente quando o parâmetro Proxy também é usado no comando. Não é possível usar os parâmetros ProxyCredential e ProxyUseDefaultCredentials no mesmo comando.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-SessionVariable

Cria uma variável que contém a sessão de solicitação da Web. Insira um nome de variável sem o símbolo cifrão ($).

Quando você especifica uma variável de sessão, Invoke-RestMethod cria um objeto de sessão de solicitação da Web e o atribui a uma variável com o nome especificado em sua sessão do PowerShell. Você pode usar a variável em sua sessão assim que o comando for concluído.

Ao contrário de uma sessão remota, a sessão de solicitação da Web não é uma conexão persistente. É um objeto que contém informações sobre a conexão e a solicitação, incluindo cookies, credenciais, o valor máximo de redirecionamento e a cadeia de caracteres do agente do usuário. Você pode usá-lo para compartilhar estado e dados entre solicitações da Web.

Para usar a sessão de solicitação da Web em solicitações da Web subsequentes, especifique a variável de sessão no valor do parâmetro WebSession. O PowerShell usa os dados no objeto de sessão de solicitação da Web ao estabelecer a nova conexão. Para substituir um valor na sessão de solicitação da Web, use um parâmetro de cmdlet, como UserAgent ou Credential. Os valores dos parâmetros têm precedência sobre os valores na sessão de solicitação da Web.

Não é possível usar os parâmetros SessionVariable e WebSession no mesmo comando.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:SV

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-TimeoutSec

Especifica por quanto tempo a solicitação pode ficar pendente antes de atingir o tempo limite. Insira um valor em segundos. O valor padrão, 0, especifica um tempo limite indefinido.

Uma consulta DNS (Sistema de Nomes de Domínio) pode levar até 15 segundos para retornar ou atingir o tempo limite. Se sua solicitação contiver um nome de host que exija resolução e você definir TimeoutSec para um valor maior que zero, mas inferior a 15 segundos, pode levar 15 segundos ou mais antes que uma WebException seja lançada e sua solicitação atinja o tempo limite.

Propriedades dos parâmetros

Tipo:Int32
Default value:0
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-TransferEncoding

Especifica um valor para o cabeçalho de resposta HTTP de codificação de transferência. Os valores aceitáveis para este parâmetro são:

  • Chunked
  • Compress
  • Deflate
  • GZip
  • Identity

Propriedades dos parâmetros

Tipo:String
Default value:None
Valores aceites:chunked, compress, deflate, gzip, identity
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Uri

Especifica o URI (Uniform Resource Identifier) do recurso da Internet para o qual a solicitação da Web é enviada. Este parâmetro suporta valores HTTP, HTTPS, FTP e FILE.

Este parâmetro é obrigatório. O nome do parâmetro (Uri) é opcional.

Propriedades dos parâmetros

Tipo:Uri
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-UseBasicParsing

Indica que o cmdlet usa análise básica. O cmdlet retorna o HTML bruto num String objeto.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-UseDefaultCredentials

Usa as credenciais do usuário atual para enviar a solicitação da Web.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-UserAgent

Especifica uma string de agente do usuário para a solicitação da web.

O agente de usuário padrão é semelhante ao Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0 com pequenas variações para cada sistema operacional e plataforma.

Para testar um site com a cadeia de caracteres padrão do agente de utilizador usada pela maioria dos navegadores da Internet, utilize as propriedades da classe PSUserAgent, tais como Chrome, Firefox, Internet Explorer, Opera e Safari.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-WebSession

Especifica uma sessão de solicitação da Web. Insira o nome da variável, incluindo o cifrão ($).

Para substituir um valor na sessão de solicitação da Web, use um parâmetro de cmdlet, como UserAgent ou Credential. Os valores dos parâmetros têm precedência sobre os valores na sessão de solicitação da Web.

Ao contrário de uma sessão remota, a sessão de solicitação da Web não é uma conexão persistente. É um objeto que contém informações sobre a conexão e a solicitação, incluindo cookies, credenciais, o valor máximo de redirecionamento e a cadeia de caracteres do agente do usuário. Você pode usá-lo para compartilhar estado e dados entre solicitações da Web.

Para criar uma sessão de pedido da web, insira um nome de variável, sem o símbolo de dólar, no valor do parâmetro SessionVariable de um comando Invoke-RestMethod. Invoke-RestMethod cria a sessão e a salva na variável. Em comandos subsequentes, use a variável como o valor do parâmetro WebSession.

Não é possível usar os parâmetros SessionVariable e WebSession no mesmo comando.

Propriedades dos parâmetros

Tipo:WebRequestSession
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

Object

Você pode canalizar o corpo de uma solicitação da Web para esse cmdlet.

Saídas

Int64

Quando a solicitação retorna um valor inteiro, este cmdlet retorna esse valor inteiro.

String

Quando a solicitação retorna uma cadeia de caracteres, esse cmdlet retorna essa cadeia de caracteres.

XmlDocument

Quando a solicitação retorna XML válido, esse cmdlet o retorna como um XmlDocument.

PSObject

Quando a solicitação retorna cadeias de caracteres JSON, esse cmdlet retorna um PSObject representando os dados.

Notas

O Windows PowerShell inclui os seguintes aliases para Invoke-RestMethod:

  • irm

Quando o ponto de extremidade REST retorna vários objetos, os objetos são recebidos como uma matriz. Se você canalizar a saída de Invoke-RestMethod para outro comando, ela será enviada como um único objeto [Object[]]. O conteúdo desta matriz não é enumerado para o próximo comando na linha de execução.