Sdílet prostřednictvím


Invoke-RestMethod

Odešle požadavek HTTP nebo HTTPS do webové služby RESTful.

Syntaxe

StandardMethod (Výchozí)

Invoke-RestMethod
    [-Uri] <Uri>
    [-FollowRelLink]
    [-MaximumFollowRelLink <Int32>]
    [-ResponseHeadersVariable <String>]
    [-StatusCodeVariable <String>]
    [-UseBasicParsing]
    [-HttpVersion <Version>]
    [-WebSession <WebRequestSession>]
    [-SessionVariable <String>]
    [-AllowUnencryptedAuthentication]
    [-Authentication <WebAuthenticationType>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-CertificateThumbprint <String>]
    [-Certificate <X509Certificate>]
    [-SkipCertificateCheck]
    [-SslProtocol <WebSslProtocol>]
    [-Token <SecureString>]
    [-UserAgent <String>]
    [-DisableKeepAlive]
    [-ConnectionTimeoutSeconds <Int32>]
    [-OperationTimeoutSeconds <Int32>]
    [-Headers <IDictionary>]
    [-SkipHeaderValidation]
    [-AllowInsecureRedirect]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-PreserveAuthorizationOnRedirect]
    [-RetryIntervalSec <Int32>]
    [-Method <WebRequestMethod>]
    [-PreserveHttpMethodOnRedirect]
    [-UnixSocket <UnixDomainSocketEndPoint>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-ProxyUseDefaultCredentials]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [<CommonParameters>]

StandardMethodNoProxy

Invoke-RestMethod
    [-Uri] <Uri>
    [-FollowRelLink]
    [-MaximumFollowRelLink <Int32>]
    [-ResponseHeadersVariable <String>]
    [-StatusCodeVariable <String>]
    [-UseBasicParsing]
    [-HttpVersion <Version>]
    [-WebSession <WebRequestSession>]
    [-SessionVariable <String>]
    [-AllowUnencryptedAuthentication]
    [-Authentication <WebAuthenticationType>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-CertificateThumbprint <String>]
    [-Certificate <X509Certificate>]
    [-SkipCertificateCheck]
    [-SslProtocol <WebSslProtocol>]
    [-Token <SecureString>]
    [-UserAgent <String>]
    [-DisableKeepAlive]
    [-ConnectionTimeoutSeconds <Int32>]
    [-OperationTimeoutSeconds <Int32>]
    [-Headers <IDictionary>]
    [-SkipHeaderValidation]
    [-AllowInsecureRedirect]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-PreserveAuthorizationOnRedirect]
    [-RetryIntervalSec <Int32>]
    [-Method <WebRequestMethod>]
    [-PreserveHttpMethodOnRedirect]
    [-UnixSocket <UnixDomainSocketEndPoint>]
    [-NoProxy]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [<CommonParameters>]

CustomMethod

Invoke-RestMethod
    [-Uri] <Uri>
    -CustomMethod <String>
    [-FollowRelLink]
    [-MaximumFollowRelLink <Int32>]
    [-ResponseHeadersVariable <String>]
    [-StatusCodeVariable <String>]
    [-UseBasicParsing]
    [-HttpVersion <Version>]
    [-WebSession <WebRequestSession>]
    [-SessionVariable <String>]
    [-AllowUnencryptedAuthentication]
    [-Authentication <WebAuthenticationType>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-CertificateThumbprint <String>]
    [-Certificate <X509Certificate>]
    [-SkipCertificateCheck]
    [-SslProtocol <WebSslProtocol>]
    [-Token <SecureString>]
    [-UserAgent <String>]
    [-DisableKeepAlive]
    [-ConnectionTimeoutSeconds <Int32>]
    [-OperationTimeoutSeconds <Int32>]
    [-Headers <IDictionary>]
    [-SkipHeaderValidation]
    [-AllowInsecureRedirect]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-PreserveAuthorizationOnRedirect]
    [-RetryIntervalSec <Int32>]
    [-PreserveHttpMethodOnRedirect]
    [-UnixSocket <UnixDomainSocketEndPoint>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-ProxyUseDefaultCredentials]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [<CommonParameters>]

CustomMethodNoProxy

Invoke-RestMethod
    [-Uri] <Uri>
    -CustomMethod <String>
    [-FollowRelLink]
    [-MaximumFollowRelLink <Int32>]
    [-ResponseHeadersVariable <String>]
    [-StatusCodeVariable <String>]
    [-UseBasicParsing]
    [-HttpVersion <Version>]
    [-WebSession <WebRequestSession>]
    [-SessionVariable <String>]
    [-AllowUnencryptedAuthentication]
    [-Authentication <WebAuthenticationType>]
    [-Credential <PSCredential>]
    [-UseDefaultCredentials]
    [-CertificateThumbprint <String>]
    [-Certificate <X509Certificate>]
    [-SkipCertificateCheck]
    [-SslProtocol <WebSslProtocol>]
    [-Token <SecureString>]
    [-UserAgent <String>]
    [-DisableKeepAlive]
    [-ConnectionTimeoutSeconds <Int32>]
    [-OperationTimeoutSeconds <Int32>]
    [-Headers <IDictionary>]
    [-SkipHeaderValidation]
    [-AllowInsecureRedirect]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-PreserveAuthorizationOnRedirect]
    [-RetryIntervalSec <Int32>]
    [-PreserveHttpMethodOnRedirect]
    [-UnixSocket <UnixDomainSocketEndPoint>]
    [-NoProxy]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [<CommonParameters>]

Description

Rutina Invoke-RestMethod odesílá požadavky HTTP a HTTPS do webových služeb REST (Representational State Transfer), které vracejí bohatě strukturovaná data.

PowerShell formátuje odpověď na základě datového typu. V případě informačního kanálu RSS nebo ATOM vrátí PowerShell uzly XML položky nebo záznamu. V případě javascriptového zápisu objektu (JSON) nebo XML převede PowerShell nebo deserializuje obsah na objekty [pscustomobject]. Komentáře jsou povoleny v datech JSON.

Poznámka:

Když koncový bod REST vrátí více objektů, objekty se přijímají jako pole. Pokud předáte výstup z Invoke-RestMethod do jiného příkazu, odešle se jako jeden objekt [Object[]]. Obsah tohoto pole není vyjmenován pro další příkaz v potrubí.

Tento cmdlet je zaveden ve Windows PowerShell 3.0.

Počínaje PowerShellem 7.0 Invoke-RestMethod podporuje konfiguraci proxy serveru definovanou proměnnými prostředí. Viz část NOTES tohoto článku.

Počínaje PowerShellem 7.4 je kódování znaků pro požadavky ve výchozím nastavení nastaveno na UTF-8 místo ASCII. Pokud potřebujete jiné kódování, musíte nastavit atribut charset v hlavičce Content-Type.

Příklady

Příklad 1: Získání informačního kanálu RSS PowerShellu

Tento příklad používá rutinu Invoke-RestMethod k získání informací z informačního kanálu RSS blogu PowerShellu. Příkaz používá cmdlet Format-Table k zobrazení hodnot vlastností Title a pubDate každého blogu v tabulce.

Invoke-RestMethod -Uri https://blogs.msdn.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

Příklad 2: Spuštění požadavku POST

V tomto příkladu uživatel spustí Invoke-RestMethod k vytvoření požadavku POST na intranetovém webu v organizaci uživatele.

$Cred = Get-Credential
$Url = "https://server.contoso.com:8089/services/search/jobs/export"
$Body = @{
    search = "search index=_internal | reverse | table index,host,source,sourcetype,_raw"
    output_mode = "csv"
    earliest_time = "-2d@d"
    latest_time = "-1d@d"
}
Invoke-RestMethod -Method 'Post' -Uri $url -Credential $Cred -Body $body -OutFile output.csv

Cmdlet vyzve k zadání přihlašovacích údajů a uloží je do $Cred. $Url obsahuje adresu URL koncového bodu REST.

Proměnná $Body popisuje kritéria hledání, určuje csv jako výstupní režim a určuje časové období pro vrácená data, která začínají před dvěma dny a končí před jedním dnem. Proměnná těla určuje hodnoty parametrů, které platí pro konkrétní rozhraní REST API, se kterým Invoke-RestMethod komunikuje.

Příkaz Invoke-RestMethod se spustí se všemi proměnnými a zadá cestu a název souboru výsledného výstupního souboru CSV.

Příklad 3: Sledování relačních odkazů

Některá rozhraní REST API podporují stránkování prostřednictvím relačních odkazů podle RFC5988. Místo toho, abyste analyzovali hlavičku pro získání adresy URL pro další stránku, může tuto činnost za vás provést cmdlet. Tento příklad vrátí první dvě stránky problémů z úložiště GitHub PowerShellu.

$url = 'https://api.github.com/repos/powershell/powershell/issues'
Invoke-RestMethod $url -FollowRelLink -MaximumFollowRelLink 2

Příklad 4: Zjednodušené vícedílné odeslání/Form-Data

Některá rozhraní API vyžadují multipart/form-data podání pro nahrávání souborů a smíšeného obsahu. Tento příklad ukazuje, jak aktualizovat profil uživatele.

$Uri = 'https://api.contoso.com/v2/profile'
$Form = @{
    firstName  = 'John'
    lastName   = 'Doe'
    email      = 'john.doe@contoso.com'
    avatar     = Get-Item -Path 'C:\Pictures\jdoe.png'
    birthday   = '1980-10-15'
    hobbies    = 'Hiking','Fishing','Jogging'
}
$Result = Invoke-RestMethod -Uri $Uri -Method Post -Form $Form

Formulář profilu vyžaduje tato pole: firstName, lastName, email, avatar, birthdaya hobbies. Rozhraní API očekává, že obrázek profilové fotky uživatele bude poskytnut v poli avatar. Rozhraní API také přijímá více položek hobbies k odeslání ve stejném formuláři.

Při vytváření $Form HashTable se názvy klíčů používají jako názvy polí formuláře. Ve výchozím nastavení se hodnoty HashTable převedou na řetězce. Pokud je k dispozici System.IO.FileInfo hodnota, obsah souboru se odešle. Pokud je přítomna kolekce, například pole nebo seznam, je pole formuláře odesláno několikrát.

Pomocí Get-Item na klíč avatar je objekt FileInfo nastaven jako hodnota. Výsledkem je, že data obrázku pro jdoe.png jsou odeslána.

Když do hobbies klíče zadáte seznam, zobrazí se pole hobbies v odesláních jednou pro každou položku seznamu.

Příklad 5: Předání více hlaviček

Rozhraní API často vyžadují předané hlavičky pro autentizaci nebo validaci. Tento příklad ukazuje, jak předat více hlaviček z hash-table do rozhraní REST API.

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

Příklad 6: Vytvoření výčtu vrácených položek v kanálu

GitHub vrátí více objektů jako pole. Pokud výstup předáte do jiného příkazu, odešle se jako jeden objekt [Object[]].

Pokud chcete vypsat objekty do kanálu, předejte výsledky do Write-Output nebo obalte příkaz rutiny do závorek. Následující příklad spočítá počet objektů vrácených GitHubem. Potom spočítá počet objektů předaných do kanálu.

$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

Příklad 7: Přeskočení ověření hlavičky

Ve výchozím nastavení rutina Invoke-RestMethod ověřuje hodnoty známých hlaviček, které mají formát hodnot definovaných standardy. Následující příklad ukazuje, jak toto ověření může vyvolat chybu a jak můžete použít parametr SkipHeaderValidation, abyste se vyhnuli ověřování hodnot pro koncové body, které tolerovat neplatné formátované hodnoty.

$Uri = 'https://httpbin.org/headers'
$InvalidHeaders = @{
    'If-Match' = '12345'
}

Invoke-RestMethod -Uri $Uri -Headers $InvalidHeaders

Invoke-RestMethod -Uri $Uri -Headers $InvalidHeaders -SkipHeaderValidation |
    Format-List
Invoke-RestMethod: The format of value '12345' is invalid.

headers : @{Host=httpbin.org; If-Match=12345; User-Agent=Mozilla/5.0 (Windows NT 10.0; Microsoft Windows
          10.0.19044; en-US) PowerShell/7.2.5;  X-Amzn-Trace-Id=Root=1-62f150a6-27754fd4226f31b43a3d2874}

httpbin.org je služba, která vrací informace o webových požadavcích a odpovědích na řešení potíží. Proměnná $Uri je přiřazena ke koncovému bodu /headers služby, který vrací hlavičky požadavku jako obsah v odpovědi.

Hlavička požadavku If-Match je definována v dokumentu RFC-7232 oddílu 3.1 a vyžaduje, aby byla hodnota pro tuto hlavičku definována s okolními uvozovkami. Proměnná $InvalidHeaders má přiřazenou tabulku hash, kde je hodnota If-Match neplatná, protože je definována jako 12345 místo "12345".

Volání Invoke-RestMethod s neplatnými záhlavími vrátí chybovou zprávu, že formátovaná hodnota je neplatná. Požadavek se do koncového bodu neodesílá.

Volání Invoke-RestMethod s parametrem SkipHeaderValidation ignoruje chybu ověření a odešle požadavek do koncového bodu. Vzhledem k tomu, že koncový bod toleruje nevyhovující hodnoty hlaviček, vrátí cmdlet objekt odpovědi bez chyby.

Příklad 8: Odeslání požadavku pomocí HTTP 2.0

Tento příklad dotazů na problém s GitHubem pomocí protokolu HTTP 2.0.

$uri = 'https://api.github.com/repos/microsoftdocs/powershell-docs/issues'
Invoke-RestMethod -Uri $uri -HttpVersion 2.0 -SkipCertificateCheck

Příklad 9: Odeslání požadavku do aplikace soketu Unix

Některé aplikace, jako je Docker, zveřejňují soket Unixu pro komunikaci. Tento příklad dotazuje seznam obrazů Dockeru pomocí rozhraní API Dockeru. Příkaz cmdlet se připojí k démonu Dockeru pomocí Unix socketu.

Invoke-RestMethod -Uri "http://localhost/v1.40/images/json/" -UnixSocket "/var/run/docker.sock"

Parametry

-AllowInsecureRedirect

Umožňuje přesměrování z HTTPS na HTTP. Ve výchozím nastavení všechny požadavky, které jsou přesměrované z HTTPS na HTTP, způsobí chybu a požadavek se přeruší, aby se zabránilo neúmyslné komunikaci ve formátu prostého textu přes nešifrovaná připojení. Pokud chcete toto chování přepsat na vlastní riziko, použijte parametr AllowInsecureRedirect.

Tento parametr byl přidán v PowerShellu 7.4.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-AllowUnencryptedAuthentication

Umožňuje odesílání přihlašovacích údajů a tajných kódů přes nešifrovaná připojení. Zadání přihlašovacích údajů nebo jakékoliv možnosti ověřování s identifikátorem URI, který nezačíná https://, způsobí chybu a požadavek se ukončí, aby nedošlo k neúmyslnému předání citlivých informací ve formátu prostého textu přes nešifrovaná připojení. Pokud chcete toto chování přepsat na vlastní riziko, zadejte parametr AllowUnencryptedAuthentication.

Výstraha

Použití tohoto parametru není bezpečné a nedoporučuje se. Poskytuje se pouze kvůli kompatibilitě se staršími systémy, které nemohou poskytovat šifrovaná připojení. Používejte na vlastní nebezpečí.

Tato funkce byla přidána v PowerShellu 6.0.0.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Authentication

Určuje explicitní typ ověřování, který se má použít pro požadavek. Výchozí hodnota je Žádná. Parametr Authentication nelze použít s parametrem UseDefaultCredentials.

Dostupné možnosti ověřování:

  • None: Toto je výchozí možnost, pokud není zadáno ověřování . Nepoužívá se žádné explicitní ověřování.
  • Basic: Vyžaduje přihlašovacích údajů . Přihlašovací údaje slouží k odeslání hlavičky základního ověřování RFC 7617 Authorization: Basic ve formátu base64(user:password).
  • Bearer: Vyžaduje parametr tokenu. Odešle hlavičku RFC 6750 Authorization: Bearer se zadaným tokenem.
  • OAuth: Vyžaduje parametr tokenu. Odešle hlavičku RFC 6750 Authorization: Bearer se zadaným tokenem.

Zadání Ověřování přepíše jakékoliv hlavičky Authorization zadané do Hlavičky nebo zahrnuté v rámci WebSession.

Tato funkce byla přidána v PowerShellu 6.0.0.

Vlastnosti parametru

Typ:WebAuthenticationType
Default value:None
Přípustné hodnoty:None, Basic, Bearer, OAuth
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Body

Určuje text požadavku. Text je obsah požadavku, který následuje za hlavičkami. Můžete také přesměrovat hodnotu těla do Invoke-RestMethod.

Pomocí parametru Body můžete zadat seznam parametrů dotazu nebo zadat obsah požadavku. Pro parametry dotazu používá rutina metodu System.Net.WebUtility.UrlEncode metodu kódování párů klíč-hodnota. Další informace o kódovacích řetězcích pro adresy URL najdete v tématu odkaz na metodu UrlEncode().

Pokud je vstupem požadavek POST a text je řetězec, hodnota nalevo od prvního znamení rovnosti (=) je nastavena jako klíč v datech formuláře a zbývající text je použito jako hodnota. Chcete-li zadat více klíčů, použijte objekt IDictionary, například hašovací tabulku, pro Tělo.

Pokud je vstupem požadavek GET a tělo je IDictionary (obvykle hašovací tabulka), tělo se přidá k URI jako parametry v dotazu. U jiných typů požadavků (například PATCH) se text nastaví jako hodnota textu požadavku ve standardním formátu name=value s hodnotami zakódovanými adresou URL.

Pokud je vstup System.Xml.XmlNode objekt a deklarace XML určuje kódování, toto kódování se používá pro data v požadavku, pokud není přepsán parametrem ContentType.

Pokud je tělo formulářem nebo výstupem jiného volání Invoke-WebRequest, PowerShell nastaví obsah požadavku na pole formuláře.

Parametr Body může také přijmout objekt System.Net.Http.MultipartFormDataContent, který usnadňuje multipart/form-data požadavky. Když je objekt MultipartFormDataContent zadán pro Body, jakékoliv hlavičky související s obsahem, které jsou zadány pro parametry ContentType, Headersnebo WebSession, jsou přepsány hlavičkami obsahu objektu MultipartFormDataContent. Tato funkce byla přidána v PowerShellu 6.0.0.

Vlastnosti parametru

Typ:Object
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:True
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Certificate

Určuje klientský certifikát, který se používá pro zabezpečený webový požadavek. Zadejte proměnnou obsahující certifikát nebo příkaz nebo výraz, který certifikát získá.

Pokud chcete najít certifikát, použijte Get-PfxCertificate nebo použijte rutinu Get-ChildItem na jednotce Certificate (Cert:). Pokud certifikát není platný nebo nemá dostatečnou autoritu, příkaz selže.

Vlastnosti parametru

Typ:X509Certificate
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-CertificateThumbprint

Určuje certifikát digitálního veřejného klíče (X509) uživatelského účtu, který má oprávnění k odeslání žádosti. Zadejte kryptografický otisk certifikátu.

Certifikáty se používají při ověřování na základě klientských certifikátů. Certifikáty lze mapovat pouze na místní uživatelské účty, nikoli účty domény.

Pokud chcete zobrazit kryptografický otisk certifikátu, pomocí příkazu Get-Item nebo Get-ChildItem vyhledejte certifikát v Cert:\CurrentUser\My.

Poznámka:

Tato funkce se v současné době podporuje jenom na platformách operačního systému Windows.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-ConnectionTimeoutSeconds

Určuje, jak dlouho může požadavek čekat, než vyprší časový limit. Zadejte hodnotu v sekundách. Výchozí hodnota 0 určuje neomezený časový limit.

Vrácení nebo vypršení časového limitu dotazu DNS (Domain Name System) může trvat až 15 sekund. Pokud váš požadavek obsahuje název hostitele, který vyžaduje překlad, a nastavíte ConnectionTimeoutSeconds na hodnotu větší než nula, ale méně než 15 sekund, může trvat 15 sekund nebo déle, než se vyvolá WebException a vyprší časový limit požadavku.

Tento parametr nahradil parametr TimeoutSec v PowerShellu 7.4. Můžete použít TimeoutSec jako alias pro ConnectionTimeoutSeconds.

Vlastnosti parametru

Typ:Int32
Default value:0
Podporuje zástupné znaky:False
DontShow:False
Aliasy:TimeoutSec

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-ContentType

Určuje typ obsahu webového požadavku.

Pokud hodnota ContentType obsahuje formát kódování (jako charset), rutina tento formát použije ke kódování textu webového požadavku. Pokud ContentType nezadá formát kódování, použije se výchozí formát kódování. Příkladem ContentType s formátem kódování je text/plain; charset=iso-8859-5, který určuje latinskou/cyrilickou abecedu.

Pokud parametr vynecháte, typ obsahu se může lišit v závislosti na metodě HTTP, kterou používáte:

  • U metody POST je typ obsahu application/x-www-form-urlencoded
  • U metody PUT je typ obsahu application/json
  • U jiných metod není v požadavku zadaný typ obsahu.

Pokud k nahrání souboru používáte parametr InFile, měli byste nastavit typ obsahu. Obvykle by měl být typ application/octet-stream. Musíte ale nastavit typ obsahu na základě požadavků koncového bodu.

ContentType se přepíše, když těla je objekt MultipartFormDataCon tent.

Počínaje PowerShellem 7.4, pokud použijete jak tento parametr, tak parametr Headers k definování hlavičky Content-Type, použije se hodnota zadaná v parametru ContentType.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Credential

Určuje uživatelský účet, který má oprávnění k odeslání požadavku. Výchozí hodnota je aktuální uživatel.

Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential vygenerovaný rutinou Get-Credential.

Můžete použít pověření samostatně nebo ve spojení s určitými možnostmi parametrů autentizace. Pokud se používá samostatně, poskytuje přihlašovací údaje jenom vzdálenému serveru, pokud vzdálený server odešle požadavek na výzvu ověření. Při použití s možnostmi ověřování se přihlašovací údaje explicitně odešlou.

Přihlašovací údaje jsou uloženy v objektu PSCredential a heslo je uloženo jako SecureString.

Poznámka:

Další informace o ochraně dat SecureString najdete v tématu Jak zabezpečený je SecureString?.

Vlastnosti parametru

Typ:PSCredential
Default value:Current user
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-CustomMethod

Určuje vlastní metodu použitou pro webový požadavek. To lze využít, pokud metoda požadavku požadovaná koncovým bodem není dostupnou možností v metodě . metoda a CustomMethod nelze použít společně.

Příklad:

Invoke-RestMethod -Uri 'https://api.contoso.com/widget/' -CustomMethod 'TEST'

Tím se odešle HTTP požadavek TEST do rozhraní API.

Tato funkce byla přidána v PowerShellu 6.0.0.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:CM

Sady parametrů

CustomMethod
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
CustomMethodNoProxy
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-DisableKeepAlive

Nastaví hodnotu KeepAlive v hlavičce HTTP na False. Ve výchozím nastavení je KeepAlive True. KeepAlive vytvoří trvalé připojení k serveru, aby se usnadnily následné požadavky.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

Označuje, že cmdlet by měl postupovat podle relačních odkazů.

Některá rozhraní REST API podporují stránkování prostřednictvím relačních odkazů podle RFC5988. Místo toho, abyste analyzovali hlavičku pro získání adresy URL pro další stránku, může tuto činnost za vás provést cmdlet. Pokud chcete nastavit, kolikrát chcete sledovat relační odkazy, použijte parametr MaximumFollowRelLink.

Při použití tohoto přepínače vrátí rutina kolekci stránek výsledků. Každá stránka výsledků může obsahovat více položek výsledků.

Tato funkce byla přidána v PowerShellu 6.0.0.

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False
Aliasy:FL
(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Form

Převede datový slovník na předání dat multipart/form-data. Formulář nelze použít s tělem . ContentType se ignoruje.

Klíče slovníku se používají jako názvy polí formuláře. Ve výchozím nastavení se hodnoty formuláře převedou na řetězcové hodnoty.

Pokud je hodnota System.IO.FileInfo objektu, pak se odešle obsah binárního souboru. Název souboru se odešle jako filename. Typ MIME je nastaven jako application/octet-stream. Get-Item lze použít ke zjednodušení poskytování objektu System.IO.FileInfo.

$Form = @{
    resume = Get-Item 'C:\Users\jdoe\Documents\John Doe.pdf'
}

Pokud je hodnota typu kolekce, například Pole nebo Seznam, je pole formuláře odesláno několikrát. Hodnoty seznamu jsou ve výchozím nastavení považovány za řetězce. Pokud je hodnota System.IO.FileInfo objekt, pak se odešle obsah binárního souboru. Vnořené kolekce nejsou podporované.

$Form = @{
    tags     = 'Vacation', 'Italy', '2017'
    pictures = Get-ChildItem 'C:\Users\jdoe\Pictures\2017-Italy\'
}

V předchozím příkladu je pole tags zadáno třikrát ve formuláři, jednou pro každou z hodnot: Vacation, Italya 2017. Pole pictures se odešle jednou pro každý soubor ve složce 2017-Italy. Binární obsah souborů v této složce se odesílají jako hodnoty.

Tato funkce byla přidána v PowerShellu 6.1.0.

Vlastnosti parametru

Typ:IDictionary
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Headers

Určuje hlavičky webového požadavku. Zadejte tabulku hash nebo slovník.

Hlavičky související s obsahem, například Content-Type, jsou přepsány, když je zadán objekt MultipartFormDataContent pro Body.

Počínaje PowerShellem 7.4, pokud použijete tento parametr k definování hlavičky Content-Type a použijete parametr ContentType, použije se hodnota zadaná v parametru ContentType.

Vlastnosti parametru

Typ:IDictionary
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-HttpVersion

Určuje verzi HTTP použitou pro požadavek. Výchozí hodnota je 1.1.

Platné hodnoty jsou:

  • 1.0
  • 1.1
  • 2.0
  • 3.0

Vlastnosti parametru

Typ:Version
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-InFile

Získá obsah textu webového požadavku ze souboru. Zadejte cestu a název souboru. Pokud cestu vynecháte, výchozí je aktuální umístění.

Musíte také nastavit typ obsahu požadavku. Pokud například chcete nahrát soubor, měli byste nastavit typ obsahu. Obvykle by měl být typ application/octet-stream. Musíte ale nastavit typ obsahu na základě požadavků koncového bodu.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

Určuje, kolikrát se mají postupovat podle relačních odkazů, pokud se používá FollowRelLink. Pokud rozhraní REST API zpomalí kvůli příliš velkému počtu požadavků, může být potřeba zvolit menší nastavenou hodnotu. Výchozí hodnota je [int32]::MaxValue. Hodnota 0 (nula) zabraňuje následujícím relačním propojením.

Typ:Int32
Default value:Int32.MaxValue
Podporuje zástupné znaky:False
DontShow:False
Aliasy:ML
(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-MaximumRedirection

Určuje, kolikrát PowerShell přesměruje připojení na alternativní identifikátor URI (Uniform Resource Identifier), než se připojení nezdaří. Výchozí hodnota je 5. Hodnota 0 (nula) zabraňuje veškerému přesměrování.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-MaximumRetryCount

Určuje, kolikrát PowerShell opakuje připojení, když se obdrží kód selhání mezi 400 a 599 (včetně) nebo 304. Viz také Parametr RetryIntervalSec pro zadání intervalu mezi opakovanými pokusy.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Method

Určuje metodu použitou pro webový požadavek. Přijatelné hodnoty pro tento parametr jsou:

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

Parametr CustomMethod lze použít pro metody požadavku, které nejsou uvedené výše.

Vlastnosti parametru

Typ:WebRequestMethod
Default value:None
Přípustné hodnoty:Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

StandardMethod
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
StandardMethodNoProxy
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-NoProxy

Označuje, že rutina k dosažení cíle nepoužije proxy server. Tento postup použijte k obejití proxy serveru nakonfigurovaného v nastavení internetu nebo zadaného v prostředí.

Tento parametr byl představen v PowerShellu 6.0.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

StandardMethodNoProxy
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
CustomMethodNoProxy
Position:Named
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-OperationTimeoutSeconds

Tento časový limit platí pro čtení dat v rámci datového proudu, ne pro čas datového proudu jako celek. Výchozí hodnota 0 určuje neomezený časový limit.

Nastavení hodnoty na 30 sekund znamená, že požadavek ukončí jakékoli zpoždění delší než 30 sekund mezi daty v datovém proudu. Velký soubor, který trvá několik minut stáhnout, se nezastaví, pokud se stream na dobu delší než 30 sekund zastaví.

Vlastnosti parametru

Typ:Int32
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-OutFile

Ve výchozím nastavení Invoke-RestMethod vrátí výsledky do potrubí. Pokud použijete parametr OutFile, výsledky se uloží do zadaného souboru a nevrátí se do kanálu. Zadejte cestu a název souboru. Pokud chcete výsledky odeslat do souboru a do kanálu, přidejte parametr PassThru.

Pokud cestu vynecháte, výchozí je aktuální umístění. Název se považuje za doslovnou cestu. Názvy obsahující hranaté závorky ([]) musí být uzavřeny v jednoduchých uvozovkách (').

Počínaje PowerShellem 7.4 můžete zadat cestu ke složce bez názvu souboru. Když to uděláte, příkaz použije název souboru z posledního segmentu vyřešeného identifikátoru URI po jakýchkoli přesměrováních. Při zadávání cesty ke složce pro OutFile nelze použít parametr Resume .

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-PassThru

Tento parametr je platný pouze v případě, že se v příkazu používá také parametr OutFile. Záměrem je zapsat výsledky do souboru a do potrubí.

Vlastnosti parametru

Typ:SwitchParameter
Default value:No output
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-PreserveAuthorizationOnRedirect

Označuje, že cmdlet by měl zachovat hlavičku Authorization (pokud je k dispozici) při přesměrováních.

Ve výchozím nastavení cmdlet před přesměrováním odstraní hlavičku Authorization. Zadání tohoto parametru zakáže tuto logiku pro případy, kdy se hlavička musí odeslat na cílové místo přesměrování.

Tato funkce byla přidána v PowerShellu 6.0.0.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-PreserveHttpMethodOnRedirect

Označuje, že rutina by měla zachovat metodu požadavku během přesměrování.

Ve výchozím nastavení cmdlet změní metodu na GET při přesměrování. Zadáním tohoto parametru zakážete tuto logiku, aby se zajistilo, že se zamýšlená metoda dá použít s přesměrováním.

Tato funkce byla přidána v PowerShellu 7.4.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Proxy

Místo přímého připojení k internetovému prostředku používá proxy server pro požadavek. Zadejte identifikátor URI (Uniform Resource Identifier) serveru proxy sítě.

Tato funkce byla přidána v PowerShellu 6.0.0.

Vlastnosti parametru

Typ:Uri
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

StandardMethod
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
CustomMethod
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-ProxyCredential

Určuje uživatelský účet, který má oprávnění používat proxy server určený parametrem Proxy. Výchozí hodnota je aktuální uživatel.

Zadejte uživatelské jméno, například "User01" nebo "Domain01\User01", nebo zadejte PSCredential objekt, například objekt vygenerovaný rutinou Get-Credential.

Tento parametr je platný pouze v případě, že se v příkazu používá také parametr Proxy. Ve stejném příkazu nemůžete použít proxyCredential a ProxyUseDefaultCredentials parametry.

Vlastnosti parametru

Typ:PSCredential
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

StandardMethod
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
CustomMethod
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-ProxyUseDefaultCredentials

Používá přihlašovací údaje aktuálního uživatele pro přístup k proxy serveru určenému parametrem Proxy.

Tento parametr je platný pouze v případě, že se v příkazu používá také parametr Proxy. Ve stejném příkazu nemůžete použít proxyCredential a ProxyUseDefaultCredentials parametry.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

StandardMethod
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False
CustomMethod
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-ResponseHeadersVariable

Vytvoří proměnnou obsahující slovník hlaviček odpovědí. Zadejte název proměnné bez symbolu dolaru ($). Klíče slovníku obsahují názvy polí a hodnoty hlavičky odpovědi vrácené webovým serverem.

Tato funkce byla přidána v PowerShellu 6.0.0.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:RHV

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Resume

Provede pokus o obnovení stahování částečného souboru. Parametr Resume vyžaduje parametr OutFile.

Resume funguje jenom s velikostí místního souboru a vzdáleného souboru a neprovádí žádné jiné ověření, že místní soubor a vzdálený soubor jsou stejné.

Pokud je velikost místního souboru menší než velikost vzdáleného souboru, rutina se pokusí pokračovat ve stahování souboru a připojí zbývající bajty na konec souboru.

Pokud je velikost místního souboru stejná jako vzdálená velikost souboru, pak se neprovedou žádné akce a rutina předpokládá, že stahování už bylo dokončeno.

Pokud je velikost místního souboru větší než velikost vzdáleného souboru, místní soubor se přepíše a celý vzdálený soubor se znovu stáhne. Toto chování je stejné jako použití OutFile bez Resume.

Pokud vzdálený server nepodporuje obnovení stahování, místní soubor se přepíše a celý vzdálený soubor se znovu stáhne. Toto chování je stejné jako použití OutFile bez Resume.

Pokud místní soubor neexistuje, vytvoří se místní soubor a stáhne se celý vzdálený soubor. Toto chování je stejné jako použití OutFile bez Resume.

Tato funkce byla přidána v PowerShellu 6.1.0.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-RetryIntervalSec

Určuje interval mezi opakovanými pokusy o připojení, když se obdrží kód chyby mezi 400 a 599 včetně nebo 304. Hodnota musí být mezi 1 a [int]::MaxValue. Pokud je kód chyby 429 a odpověď obsahuje vlastnost Retry-After v hlavičce, rutina použije tuto hodnotu pro interval opakování, i když je tento parametr zadán.

Viz také parametr MaximumRetryCount pro určení počtu opakování.

Vlastnosti parametru

Typ:Int32
Default value:5
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SessionVariable

Vytvoří proměnnou obsahující relaci webového požadavku. Zadejte název proměnné bez symbolu dolaru ($).

Když zadáte proměnnou relace, Invoke-RestMethod vytvoří objekt relace webového požadavku a přiřadí jej proměnné s určeným názvem ve vaší relaci PowerShellu. Proměnnou můžete v relaci použít hned po dokončení příkazu.

Před PowerShellem 7.4 není relace webového požadavku trvalým připojením. Jedná se o objekt, který obsahuje informace o připojení a požadavku, včetně souborů cookie, přihlašovacích údajů, maximální hodnoty přesměrování a řetězce uživatelského agenta. Můžete ho použít ke sdílení stavu a dat mezi webovými požadavky.

Počínaje PowerShellem 7.4 je relace webového požadavku trvalá, pokud se v následném požadavku nepřepíše vlastnosti relace. Když je to potřebné, cmdlet znovu vytvoří relaci s novými hodnotami. Trvalé relace snižují režijní náklady na opakované požadavky, což proces zpracování těchto požadavků značně urychluje.

Pokud chcete použít webovou relaci v dalších webových požadavcích, zadejte použitou proměnnou relace v hodnotě parametru WebSession. PowerShell při navazování nového připojení používá data v objektu relace webového požadavku. Pokud chcete přepsat hodnotu v relaci webového požadavku, použijte parametr rutiny, například UserAgent nebo Credential. Hodnoty parametrů mají přednost před hodnotami v relaci webového požadavku.

Ve stejném příkazu nemůžete použít parametry SessionVariable a WebSession.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False
Aliasy:SV

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SkipCertificateCheck

Přeskočí kontroly ověření certifikátu, které zahrnují všechna ověření, jako je vypršení platnosti, odvolání, důvěryhodná kořenová autorita atd.

Výstraha

Použití tohoto parametru není bezpečné a nedoporučuje se. Tento přepínač je určený pouze pro známé hostitele, kteří používají certifikát podepsaný svým držitelem pro účely testování. Používejte na vlastní nebezpečí.

Tato funkce byla přidána v PowerShellu 6.0.0.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SkipHeaderValidation

Označuje, že cmdlet přidá hlavičky do požadavku bez ověření.

Tento přepínač by se měl používat pro weby, které vyžadují hodnoty hlaviček, které nevyhovují standardům. Zadáním tohoto přepínače zakážete ověřování, aby byla hodnota předána bez kontroly. Po zadání se všechny hlavičky přidají bez ověření.

Tento přepínač zakáže ověřování hodnot předaných parametrům ContentType, Headersa UserAgent.

Tato funkce byla přidána v PowerShellu 6.0.0.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SkipHttpErrorCheck

Tento parametr způsobí, že rutina ignoruje stavy chyb HTTP a bude dál zpracovávat odpovědi. Odpovědi na chyby se zapíšou do kanálu stejně, jako kdyby byly úspěšné.

Tento parametr byl představen v PowerShellu 7.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-SslProtocol

Nastaví protokoly SSL/TLS, které jsou pro webový požadavek přípustné. Ve výchozím nastavení jsou povolené protokoly SSL/TLS podporované systémem. sslProtocol umožňuje omezit na konkrétní protokoly pro účely dodržování předpisů.

Tyto hodnoty jsou definovány jako výčtové hodnoty na bázi příznaků. Pomocí tohoto parametru můžete zkombinovat více hodnot a nastavit více příznaků. Hodnoty lze předat SslProtocol parametr jako pole hodnot nebo jako řetězec oddělený čárkami těchto hodnot. Cmdlet kombinuje hodnoty pomocí binární operace OR. Předání hodnot jako pole je nejjednodušší možností a také umožňuje využít automatické doplňování pomocí klávesy Tab pro hodnoty. Možná nebudete moct zadat více hodnot na všech platformách.

Tato funkce byla přidána v PowerShellu 6.0.0. Podpora Tls13 byla přidána v PowerShellu 7.1.

Vlastnosti parametru

Typ:WebSslProtocol
Default value:None
Přípustné hodnoty:Default, Tls, Tls11, Tls12, Tls13
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-StatusCodeVariable

Vytvoří proměnnou obsahující výsledek stavového kódu HTTP požadavku. Zadejte název proměnné bez symbolu dolaru ($).

Parametr může identifikovat zprávy o úspěchu nebo chybové zprávy při použití s parametrem SkipHttpErrorCheck.

Zadejte název proměnné parametru jako řetězec, například -StatusCodeVariable "scv".

Tento parametr byl představen v PowerShellu 7.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Token

Token OAuth nebo Bearer, který má být zahrnut do požadavku. Token je vyžadován určitými možnostmi ověřování . Nejde ho používat nezávisle.

token přebírá SecureString obsahující token. Pokud chcete token zadat, použijte ručně následující:

Invoke-RestMethod -Uri $uri -Authentication OAuth -Token (Read-Host -AsSecureString)

Tento parametr byl představen v PowerShellu 6.0.

Vlastnosti parametru

Typ:SecureString
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-TransferEncoding

Určuje hodnotu hlavičky odpovědi HTTP pro kódování přenosu. Přijatelné hodnoty pro tento parametr jsou:

  • Rozdělený
  • Komprimovat
  • Vyfouknout
  • GZip
  • Identita

Vlastnosti parametru

Typ:String
Default value:None
Přípustné hodnoty:chunked, compress, deflate, gzip, identity
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-UnixSocket

Určuje název soketu Unix, ke kterému se má připojit. Tento parametr je podporován v systémech Unix a Windows verze 1803 a novějších. Další informace o podpoře soketů Unix ve Windows naleznete v blogovém příspěvku Windows/WSL Interop s AF_UNIX.

Tento parametr byl přidán v PowerShellu 7.4.

Vlastnosti parametru

Typ:UnixDomainSocketEndPoint
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-Uri

Určuje identifikátor URI (Uniform Resource Identifier) internetového prostředku, do kterého se odešle webový požadavek. Tento parametr podporuje hodnoty HTTP, HTTPS, FTP a FILE.

Tento parametr je povinný. Název parametru (identifikátor URI) je volitelný.

Vlastnosti parametru

Typ:Uri
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:0
Povinné:True
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-UseBasicParsing

Tento parametr je zastaralý. Počínaje PowerShellem 6.0.0 používají všechny webové požadavky pouze základní analýzu. Tento parametr je součástí pouze zpětné kompatibility. Při použití nemá žádný vliv na funkci cmdletu.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-UseDefaultCredentials

Označuje, že rutina používá přihlašovací údaje aktuálního uživatele k odeslání webové žádosti. Tuto možnost nelze použít s ověřením nebo pověřeními a nemusí být podporována na všech platformách.

Vlastnosti parametru

Typ:SwitchParameter
Default value:False
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-UserAgent

Určuje řetězec uživatelského agenta pro webový požadavek.

Výchozí uživatelský agent je podobný Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0 s mírnými variacemi pro každý operační systém a platformu.

Chcete-li otestovat web se standardním řetězcem uživatelského agenta, který používá většina internetových prohlížečů, použijte vlastnosti PSUserAgent třídy, jako je Chrome, Firefox, InternetExplorer, Opera a Safari.

Vlastnosti parametru

Typ:String
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

-WebSession

Určuje relaci webového požadavku. Zadejte název proměnné, včetně znaku dolaru ($).

Pokud chcete přepsat hodnotu v relaci webového požadavku, použijte parametr rutiny, například UserAgent nebo Credential. Hodnoty parametrů mají přednost před hodnotami v relaci webového požadavku. Hlavičky související s obsahem, jako například Content-Type, jsou přepsány, když je objekt MultipartFormDataContent poskytnut pro Body.

Na rozdíl od relace vzdáleného připojení není relace webového požadavku trvalá. Jedná se o objekt, který obsahuje informace o připojení a požadavku, včetně souborů cookie, přihlašovacích údajů, maximální hodnoty přesměrování a řetězce uživatelského agenta. Můžete ho použít ke sdílení stavu a dat mezi webovými požadavky.

Pokud chcete vytvořit relaci webové žádosti, do hodnoty parametru SessionVariable příkazu Invoke-RestMethod zadejte název proměnné bez znaku dolaru. Invoke-RestMethod vytvoří relaci a uloží ji do proměnné. V dalších příkazech použijte proměnnou jako hodnotu parametru WebSession.

Ve stejném příkazu nemůžete použít parametry SessionVariable a WebSession.

Vlastnosti parametru

Typ:WebRequestSession
Default value:None
Podporuje zástupné znaky:False
DontShow:False

Sady parametrů

(All)
Position:Named
Povinné:False
Hodnota z kanálu:False
Hodnota z kanálu podle názvu vlastnosti:False
Hodnota ze zbývajících argumentů:False

CommonParameters

Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.

Vstupy

Object

Do tohoto cmdletu můžete přesměrovat tělo webového požadavku.

Výstupy

Int64

Když požadavek vrátí celé číslo, vrátí tato rutina toto celé číslo.

String

Když požadavek vrátí řetězec, vrátí tato rutina tento řetězec.

XmlDocument

Když požadavek vrátí platný KÓD XML, tato rutina ho vrátí jako XmlDocument.

PSObject

Když požadavek vrátí řetězce JSON, vrátí tato rutina PSObject představující data.

Poznámky

PowerShell obsahuje následující aliasy pro Invoke-RestMethod:

  • Všechny platformy:
    • irm

Některé funkce nemusí být dostupné na všech platformách.

Kvůli změnám v .NET Core 3.1 používá PowerShell 7.0 a vyšší vlastnost HttpClient.DefaultProxy k určení konfigurace proxy serveru.

Hodnota této vlastnosti se liší v závislosti na vaší platformě:

  • pro Windows: Načte konfiguraci proxy serveru z proměnných prostředí nebo pokud nejsou definované, z nastavení proxy serveru uživatele.
  • pro macOS: Načte konfiguraci proxy serveru z proměnných prostředí nebo pokud nejsou definované, z nastavení proxy serveru systému.
  • pro Linux: Načte konfiguraci proxy serveru z proměnných prostředí nebo v případě, že nejsou definovány, tato vlastnost inicializuje nekonfigurovanou instanci, která obchází všechny adresy.

Proměnné prostředí používané pro DefaultProxy inicializace na platformách se systémem Windows a Unix jsou:

  • HTTP_PROXY: název hostitele nebo IP adresa proxy serveru používaného u požadavků HTTP.
  • HTTPS_PROXY: název hostitele nebo IP adresa proxy serveru používaného v požadavcích HTTPS.
  • ALL_PROXY: název hostitele nebo IP adresa proxy serveru používaného v požadavcích HTTP a HTTPS v případě, že nejsou definovány HTTP_PROXY nebo HTTPS_PROXY.
  • NO_PROXY: seznam názvů hostitelů oddělených čárkami, které by měly být vyloučeny z proxy serveru.

PowerShell 7.4 přidal podporu pro algoritmus komprese Brotli.