Invoke-RestMethod
Skickar en HTTP- eller HTTPS-begäran till en RESTful-webbtjänst.
Syntax
Invoke-RestMethod
[-FollowRelLink]
[-MaximumFollowRelLink <Int32>]
[-ResponseHeadersVariable <String>]
[-StatusCodeVariable <String>]
[-UseBasicParsing]
[-Uri] <Uri>
[-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>]
Invoke-RestMethod
[-FollowRelLink]
[-MaximumFollowRelLink <Int32>]
[-ResponseHeadersVariable <String>]
[-StatusCodeVariable <String>]
[-UseBasicParsing]
[-Uri] <Uri>
[-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>]
Invoke-RestMethod
[-FollowRelLink]
[-MaximumFollowRelLink <Int32>]
[-ResponseHeadersVariable <String>]
[-StatusCodeVariable <String>]
[-UseBasicParsing]
[-Uri] <Uri>
[-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>]
-CustomMethod <String>
[-PreserveHttpMethodOnRedirect]
[-UnixSocket <UnixDomainSocketEndPoint>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-ProxyUseDefaultCredentials]
[-Body <Object>]
[-Form <IDictionary>]
[-ContentType <String>]
[-TransferEncoding <String>]
[-InFile <String>]
[-OutFile <String>]
[-PassThru]
[-Resume]
[-SkipHttpErrorCheck]
[<CommonParameters>]
Invoke-RestMethod
[-FollowRelLink]
[-MaximumFollowRelLink <Int32>]
[-ResponseHeadersVariable <String>]
[-StatusCodeVariable <String>]
[-UseBasicParsing]
[-Uri] <Uri>
[-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>]
-CustomMethod <String>
[-PreserveHttpMethodOnRedirect]
[-UnixSocket <UnixDomainSocketEndPoint>]
[-NoProxy]
[-Body <Object>]
[-Form <IDictionary>]
[-ContentType <String>]
[-TransferEncoding <String>]
[-InFile <String>]
[-OutFile <String>]
[-PassThru]
[-Resume]
[-SkipHttpErrorCheck]
[<CommonParameters>]
Description
Cmdleten Invoke-RestMethod
skickar HTTP- och HTTPS-begäranden till REST-webbtjänster (Representational State Transfer) som returnerar mycket strukturerade data.
PowerShell formaterar svaret baserat på datatypen. För en RSS- eller ATOM-feed returnerar PowerShell objekt- eller post-XML-noderna. För JavaScript Object Notation (JSON) eller XML konverterar Eller deserialiserar PowerShell innehållet till [PSCustomObject]
objekt.
Kommentar
När REST-slutpunkten returnerar flera objekt tas objekten emot som en matris. Om du skickar utdata från Invoke-RestMethod
till ett annat kommando skickas det som ett enda [Object[]]
objekt. Innehållet i matrisen räknas inte upp för nästa kommando i pipelinen.
Den här cmdleten introduceras i Windows PowerShell 3.0.
Från och med PowerShell 7.0 Invoke-RestMethod
stöder proxykonfiguration som definierats av miljövariabler. Se avsnittet Anteckningar i den här artikeln.
Från och med PowerShell 7.4 kodas tecken för begäranden som standard UTF-8 i stället för ASCII. Om du behöver en annan kodning måste du ange charset
attributet i Content-Type
rubriken.
Exempel
Exempel 1: Hämta PowerShell RSS-feeden
I det här exemplet används cmdleten Invoke-RestMethod
för att hämta information från PowerShell-bloggens RSS-flöde. Kommandot använder cmdleten Format-Table
för att visa värdena för egenskaperna Rubrik och pubDate för varje blogg i en tabell.
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
Exempel 2: Kör en POST-begäran
I det här exemplet kör Invoke-RestMethod
en användare för att göra en POST-begäran på en intranätwebbplats i användarens organisation.
$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
Autentiseringsuppgifterna efterfrågas och lagras sedan i $Cred
och url:en som ska kommas åt definieras i $Url
.
Variabeln $Body
beskriver sökvillkoren, anger CSV som utdataläge och anger en tidsperiod för returnerade data som startar för två dagar sedan och slutar för en dag sedan. Brödtextvariabeln anger värden för parametrar som gäller för det specifika REST API som Invoke-RestMethod
kommunicerar med.
Kommandot Invoke-RestMethod
körs med alla variabler på plats och anger en sökväg och ett filnamn för den resulterande CSV-utdatafilen.
Exempel 3: Följ relationslänkar
Vissa REST-API:er stöder sidnumrering via relationslänkar per RFC5988. I stället för att parsa huvudet för att hämta URL:en för nästa sida kan du låta cmdleten göra detta åt dig. Det här exemplet returnerar de två första sidorna med problem från PowerShell GitHub-lagringsplatsen.
$url = 'https://api.github.com/repos/powershell/powershell/issues'
Invoke-RestMethod $url -FollowRelLink -MaximumFollowRelLink 2
Exempel 4: Förenklad överföring av flera delar/formulärdata
Vissa API:er kräver multipart/form-data
inlämningar för att ladda upp filer och blandat innehåll. Det här exemplet visar hur du uppdaterar en användares profil.
$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
Profilformuläret kräver följande fält: firstName
, lastName
, email
, avatar
, birthday
och hobbies
. API:et förväntar sig att en bild för användarprofilbilden ska anges i fältet avatar
. API:et accepterar också att flera hobbies
poster skickas i samma formulär.
När du skapar $Form
HashTable används nyckelnamnen som formulärfältnamn. Som standard konverteras värdena för HashTable till strängar. Om det finns ett System.IO.FileInfo
värde skickas filinnehållet. Om det finns en samling, till exempel matriser eller listor, skickas formulärfältet flera gånger.
Genom att använda Get-Item
på avatar
nyckeln FileInfo
anges objektet som värde. Resultatet är att avbildningsdata för jdoe.png
skickas.
Genom att ange en lista till hobbies
nyckeln kommer fältet hobbies
att finnas i inlämningarna en gång för varje listobjekt.
Exempel 5: Skicka flera rubriker
API:er kräver ofta skickade huvuden för autentisering eller validering. Det här exemplet visar hur du skickar flera huvuden från en hash-table
till ett REST-API.
$headers = @{
'userId' = 'UserIDValue'
'token' = 'TokenValue'
}
Invoke-RestMethod -Uri $uri -Method Post -Headers $headers -Body $body
Exempel 6: Räkna upp returnerade objekt i pipelinen
GitHub returnerar flera objekt som en matris. Om du skickar utdata till ett annat kommando skickas det som ett enda [Object[]]
objekt.
Om du vill räkna upp objekten i pipelinen kan du skicka resultatet till Write-Output
eller omsluta cmdleten inom parenteser. I följande exempel räknas antalet objekt som returneras av GitHub. Räknar sedan antalet objekt som räknas upp till pipelinen.
$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
Exempel 7: Hoppa över sidhuvudverifiering
Som standard Invoke-RestMethod
validerar cmdleten värdena för välkända rubriker som har ett standarddefinierat värdeformat. I följande exempel visas hur den här verifieringen kan generera ett fel och hur du kan använda parametern SkipHeaderValidation för att undvika validering av värden för slutpunkter som tolererar ogiltigt formaterade värden.
$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 är en tjänst som returnerar information om webbbegäranden och svar för felsökning. Variabeln $Uri
tilldelas till /headers
tjänstens slutpunkt, som returnerar en begärans huvuden som innehåll i svaret.
Begärandehuvudet If-Match
definieras i RFC-7232 avsnitt 3.1 och kräver att värdet för rubriken definieras med omgivande citattecken. Variabeln $InvalidHeaders
tilldelas en hash-tabell där värdet If-Match
för är ogiltigt eftersom det definieras som 12345
i stället för "12345"
.
Om du anropar Invoke-RestMethod
med ogiltiga rubriker returneras ett fel som rapporterar att det formaterade värdet är ogiltigt. Begäran skickas inte till slutpunkten.
Om du anropar Invoke-RestMethod
med parametern SkipHeaderValidation ignoreras verifieringsfelet och begäran skickas till slutpunkten. Eftersom slutpunkten tolererar icke-kompatibla huvudvärden returnerar cmdleten svarsobjektet utan fel.
Exempel 8: Skicka en begäran med HTTP 2.0
Det här exemplet frågar efter GitHub-problem med hjälp av HTTP 2.0-protokollet.
$uri = 'https://api.github.com/repos/microsoftdocs/powershell-docs/issues'
Invoke-RestMethod -Uri $uri -HttpVersion 2.0 -SkipCertificateCheck
Exempel 9: Skicka en begäran till ett Unix Socket-program
Vissa program, till exempel Docker, exponerar en Unix-socket för kommunikation. Det här exemplet frågar efter en lista över Docker-avbildningar med docker-API:et. Cmdleten ansluter till Docker-daemonen med unix-socketen.
Invoke-RestMethod -Uri "http://localhost/v1.40/images/json/" -UnixSocket "/var/run/docker.sock"
Parametrar
-AllowInsecureRedirect
Tillåter omdirigering från HTTPS till HTTP. Som standard resulterar alla begäranden som omdirigeras från HTTPS till HTTP i ett fel och begäran avbryts för att förhindra oavsiktlig kommunikation i oformaterad text över okrypterade anslutningar. Om du vill åsidosätta det här beteendet på egen risk använder du parametern AllowInsecureRedirect .
Den här parametern lades till i PowerShell 7.4.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-AllowUnencryptedAuthentication
Tillåter sändning av autentiseringsuppgifter och hemligheter via okrypterade anslutningar. Om du anger alternativ för autentisering eller autentisering med en URI som inte börjar med https://
uppstår som standard ett fel och begäran avbryts för att förhindra oavsiktlig kommunikation av hemligheter i okrypterad text över okrypterade anslutningar. Om du vill åsidosätta det här beteendet på egen risk anger du parametern AllowUnencryptedAuthentication .
Varning
Att använda den här parametern är inte säkert och rekommenderas inte. Den tillhandahålls endast för kompatibilitet med äldre system som inte kan tillhandahålla krypterade anslutningar. Använd på egen risk.
Den här funktionen lades till i PowerShell 6.0.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Authentication
Anger den explicita autentiseringstyp som ska användas för begäran. Standardvärdet är Ingen. Parametern Autentisering kan inte användas med parametern UseDefaultCredentials .
Tillgängliga autentiseringsalternativ:
None
: Det här är standardalternativet när autentisering inte anges. Ingen explicit autentisering kommer att användas.Basic
: Kräver autentiseringsuppgifter. Autentiseringsuppgifterna används för att skicka en RFC 7617 Basic Authentication-rubrikAuthorization: Basic
i formatetbase64(user:password)
.Bearer
: Kräver tokenparametern. Skickar en RFC 6750-rubrikAuthorization: Bearer
med den angivna token.OAuth
: Kräver tokenparametern. Skickar en RFC 6750-rubrikAuthorization: Bearer
med den angivna token.
Om du anger autentisering åsidosätts alla Authorization
rubriker som anges i Rubriker eller som ingår i WebSession.
Den här funktionen lades till i PowerShell 6.0.0.
Typ: | WebAuthenticationType |
Godkända värden: | None, Basic, Bearer, OAuth |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Body
Anger brödtexten i begäran. Brödtexten är innehållet i begäran som följer rubrikerna.
Du kan också skicka ett brödtextvärde till Invoke-RestMethod
.
Brödtextparametern kan användas för att ange en lista med frågeparametrar eller ange innehållet i svaret. För frågeparametrar använder cmdleten metoden System.Net.WebUtility.UrlEncode för att koda nyckel/värde-paren. Mer information om kodningssträngar för URL:er finns i metodreferensen UrlEncode().
När indata är en POST-begäran och brödtexten är en Sträng, anges värdet till vänster om det första likhetstecknet (=
) som en nyckel i formulärdata och den återstående texten anges som värde. Om du vill ange flera nycklar använder du ett IDictionary-objekt, till exempel en hash-tabell, för brödtexten.
När indata är en GET-begäran och brödtexten är en IDictionary (vanligtvis en hash-tabell) läggs brödtexten till i URI:n som frågeparametrar. För andra typer av begäranden (till exempel PATCH) anges brödtexten som värdet för begärandetexten i standardformatet name=value
med värdena URL-kodade.
När indata är ett System.Xml.XmlNode-objekt och XML-deklarationen anger en kodning används kodningen för data i begäran om den inte åsidosätts av parametern ContentType .
När brödtexten är ett formulär, eller om det är utdata från ett annat Invoke-WebRequest
anrop, anger PowerShell begärandeinnehållet till formulärfälten.
Parametern Body kan också acceptera ett System.Net.Http.MultipartFormDataContent-objekt . Detta underlättar multipart/form-data
begäranden. När ett MultipartFormDataContent-objekt tillhandahålls för Brödtext, kommer alla innehållsrelaterade rubriker som tillhandahålls till parametrarna ContentType, Headers eller WebSession att åsidosättas av objektets innehållshuvuden MultipartFormDataContent
. Den här funktionen lades till i PowerShell 6.0.0.
Typ: | Object |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Certificate
Anger det klientcertifikat som används för en säker webbbegäran. Ange en variabel som innehåller ett certifikat eller ett kommando eller uttryck som hämtar certifikatet.
Om du vill hitta ett certifikat använder Get-PfxCertificate
eller använder du cmdleten Get-ChildItem
på certifikatenheten (Cert:
). Om certifikatet inte är giltigt eller inte har tillräcklig behörighet misslyckas kommandot.
Typ: | X509Certificate |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CertificateThumbprint
Anger det digitala offentliga nyckelcertifikatet (X509) för ett användarkonto som har behörighet att skicka begäran. Ange certifikatets tumavtryck.
Certifikat används i klientcertifikatbaserad autentisering. Certifikat kan bara mappas till lokala användarkonton, inte domänkonton.
Om du vill se certifikatets tumavtryck använder du Get-Item
kommandot eller Get-ChildItem
för att hitta certifikatet i Cert:\CurrentUser\My
.
Kommentar
Den här funktionen stöds för närvarande endast på Windows OS-plattformar.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ConnectionTimeoutSeconds
Anger hur länge begäran kan vänta innan tidsgränsen uppnås. Ange ett värde i sekunder. Standardvärdet 0 anger en tidsgräns på obestämd tid.
En DNS-fråga (Domain Name System) kan ta upp till 15 sekunder att returnera eller överskrida tidsgränsen. Om din begäran innehåller ett värdnamn som kräver lösning och du anger ConnectionTimeoutSeconds till ett värde som är större än noll, men mindre än 15 sekunder, kan det ta 15 sekunder eller mer innan en WebException genereras och din begäran överskrider tidsgränsen.
Den här parametern ersatte parametern TimeoutSec i PowerShell 7.4. Du kan använda TimeoutSec som alias för ConnectionTimeoutSeconds.
Typ: | Int32 |
Alias: | TimeoutSec |
Position: | Named |
Standardvärde: | 0 |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ContentType
Anger innehållstypen för webbbegäran.
Om värdet för ContentType innehåller kodningsformatet (som charset
) använder cmdleten formatet för att koda brödtexten i webbbegäran. Om ContentType inte anger något kodningsformat används standardkodningsformatet i stället. Ett exempel på en ContentType med ett kodningsformat är text/plain; charset=iso-8859-5
, som anger det latinska/kyrilliska alfabetet.
Om den här parametern utelämnas och begärandemetoden är POST anger Invoke-RestMethod
du innehållstypen till application/x-www-form-urlencoded
. Annars anges inte innehållstypen i anropet.
ContentType kommer att åsidosättas när ett MultipartFormDataContent
objekt anges för Brödtext.
Från och med PowerShell 7.4 används det värde som anges i parametern ContentType om du använder både den här parametern och parametern Headers för att definiera Content-Type
huvudet.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Anger ett användarkonto som har behörighet att skicka begäran. Standard är den aktuella användaren.
Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential-objekt som genereras av cmdleten Get-Credential
.
Autentiseringsuppgifter kan användas ensamt eller tillsammans med vissa alternativ för autentiseringsparameter . När den används ensam anger den endast autentiseringsuppgifter till fjärrservern om fjärrservern skickar en begäran om autentiseringsutmaning. När de används med autentiseringsalternativ skickas autentiseringsuppgifterna explicit.
Autentiseringsuppgifter lagras i ett PSCredential-objekt och lösenordet lagras som en SecureString.
Kommentar
Mer information om SecureString-dataskydd finns i Hur säker är SecureString?.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | Current user |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-CustomMethod
Anger den anpassade metod som används för webbbegäran. Detta kan användas med den begärandemetod som krävs av slutpunkten är inte ett tillgängligt alternativ för metoden. Metoden och CustomMethod kan inte användas tillsammans.
Exempel:
Invoke-RestMethod -uri 'https://api.contoso.com/widget/' -CustomMethod 'TEST'
Detta gör en TEST
HTTP-begäran till API:et.
Den här funktionen lades till i PowerShell 6.0.0.
Typ: | String |
Alias: | CM |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DisableKeepAlive
Anger att cmdleten anger Värdet KeepAlive i HTTP-huvudet till False. Som standard är KeepAlive Sant. KeepAlive upprättar en beständig anslutning till servern för att underlätta efterföljande begäranden.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-FollowRelLink
Anger att cmdleten ska följa relationslänkarna.
Vissa REST-API:er stöder sidnumrering via relationslänkar per RFC5988. I stället för att parsa huvudet för att hämta URL:en för nästa sida kan du låta cmdleten göra detta åt dig. Om du vill ange hur många gånger du ska följa relationslänkar använder du parametern MaximumFollowRelLink .
När du använder den här växeln returnerar cmdleten en samling sidor med resultat. Varje sida med resultat kan innehålla flera resultatobjekt.
Den här funktionen lades till i PowerShell 6.0.0.
Typ: | SwitchParameter |
Alias: | FL |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Form
Konverterar en ordlista till en multipart/form-data
sändning. Formuläret får inte användas med Brödtext.
Om ContentType ignoreras.
Nycklarna i ordlistan används som formulärfältnamn. Som standard konverteras formulärvärden till strängvärden.
Om värdet är ett System.IO.FileInfo-objekt skickas innehållet i den binära filen.
Namnet på filen skickas som filename
. MIME kommer att anges som application/octet-stream
. Get-Item
kan användas för att förenkla leveransen av Objektet System.IO.FileInfo .
$Form = @{ resume = Get-Item 'c:\Users\jdoe\Documents\John Doe.pdf' }
Om värdet är en samlingstyp, till exempel en matris eller lista, skickas fältet för flera gånger. Värdena i listan behandlas som strängar som standard. Om värdet är ett System.IO.FileInfo-objekt skickas innehållet i den binära filen. Kapslade samlingar stöds inte.
$Form = @{ tags = 'Vacation', 'Italy', '2017' pictures = Get-ChildItem 'c:\Users\jdoe\Pictures\2017-Italy' }
I exemplet ovan anges fältet tags
tre gånger i formuläret, en gång för var och en av Vacation
, Italy
och 2017
. Fältet pictures
skickas också en gång för varje fil i 2017-Italy
mappen. Det binära innehållet i filerna i mappen skickas som värden.
Den här funktionen lades till i PowerShell 6.1.0.
Typ: | IDictionary |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Headers
Anger sidhuvudena för webbbegäran. Ange en hash-tabell eller ordlista.
Innehållsrelaterade rubriker, till exempel Content-Type
åsidosättas när ett MultipartFormDataContent
objekt anges för Brödtext.
Från och med PowerShell 7.4 används värdet som anges i parametern ContentType om du använder den Content-Type
här parametern för att definiera rubriken och använda ContentType-parametern.
Typ: | IDictionary |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-HttpVersion
Anger den HTTP-version som används för begäran. Standardvärdet är 1.1
.
Giltiga värden är:
- 1.0
- 1,1
- 2.0
- 3,0
Typ: | Version |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-InFile
Hämtar innehållet i webbbegäran från en fil.
Ange en sökväg och ett filnamn. Om du utelämnar sökvägen är standardinställningen den aktuella platsen.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-MaximumFollowRelLink
Anger hur många gånger du ska följa relationslänkar om FollowRelLink används. Ett mindre värde kan behövas om REST-API:et begränsas på grund av för många begäranden. Standardvärdet är [Int32]::MaxValue
. Värdet 0 (noll) förhindrar följande relationslänkar.
Typ: | Int32 |
Alias: | ML |
Position: | Named |
Standardvärde: | Int32.MaxValue |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-MaximumRedirection
Anger hur många gånger PowerShell omdirigerar en anslutning till en alternativ URI (Uniform Resource Identifier) innan anslutningen misslyckas. Standardvärdet är 5. Värdet 0 (noll) förhindrar all omdirigering.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-MaximumRetryCount
Anger hur många gånger PowerShell försöker ansluta igen när en felkod mellan 400 och 599, inklusive eller 304 tas emot. Se även parametern RetryIntervalSec för att ange intervallet mellan återförsök.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Method
Anger den metod som används för webbbegäran. De acceptabla värdena för den här parametern är:
Default
Delete
Get
Head
Merge
Options
Patch
Post
Put
Trace
Parametern CustomMethod kan användas för begärandemetoder som inte anges ovan.
Typ: | WebRequestMethod |
Godkända värden: | Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-NoProxy
Anger att cmdleten inte använder en proxy för att nå målet.
Använd den här växeln när du behöver kringgå proxyn som konfigurerats i Internet Explorer eller en proxy som anges i miljön.
Den här parametern introducerades i PowerShell 6.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-OperationTimeoutSeconds
Den här tidsgränsen gäller för dataläsningar i en dataström, inte för dataströmtiden som helhet. Standardvärdet 0 anger en tidsgräns på obestämd tid.
Om värdet anges till 30 sekunder innebär det att en fördröjning på mer än 30 sekunder mellan data i dataströmmen avslutar begäran. En stor fil som tar flera minuter att ladda ned avslutas inte om inte strömmen stannar i mer än 30 sekunder.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-OutFile
Som standard Invoke-RestMethod
returnerar resultatet till pipelinen. När du använder parametern OutFile sparas resultatet i den angivna filen och returneras inte till pipelinen. Ange en sökväg och ett filnamn. Om du vill skicka resultatet till en fil och till pipelinen lägger du till parametern PassThru .
Om du utelämnar sökvägen är standardinställningen den aktuella platsen. Namnet behandlas som en literal sökväg.
Namn som innehåller hakparenteser ([]
) måste omges av enkla citattecken ('
).
Från och med PowerShell 7.4 kan du ange en mappsökväg utan filnamnet. När du gör det använder kommandot filnamn från det sista segmentet i den lösta URI:n efter eventuella omdirigeringar. När du anger en mappsökväg för OutFile kan du inte använda parametern Återuppta .
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PassThru
Den här parametern är endast giltig när parametern OutFile också används i kommandot . Avsikten är att få resultatet skrivet till filen och till pipelinen.
Kommentar
När du använder parametern PassThru skrivs utdata till pipelinen men filen skapas inte. Detta har åtgärdats i PowerShell 7.5-preview.4. Mer information finns i PowerShell-problem #15409.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | No output |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PreserveAuthorizationOnRedirect
Anger att cmdleten ska bevara rubriken, när den Authorization
finns, över omdirigeringar.
Som standard tar cmdleten Authorization
bort huvudet innan du omdirigerar. Om du anger den här parametern inaktiveras den här logiken för fall där huvudet måste skickas till omdirigeringsplatsen.
Den här funktionen lades till i PowerShell 6.0.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-PreserveHttpMethodOnRedirect
Anger att cmdleten ska bevara metoden för begäran över omdirigeringar.
Som standard ändrar cmdleten metoden till GET
när den omdirigeras. Om du anger den här parametern inaktiveras den här logiken för att säkerställa att den avsedda metoden kan användas med omdirigering.
Den här funktionen har lagts till i PowerShell 7.4.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Proxy
Använder en proxyserver för begäran i stället för att ansluta direkt till Internetresursen. Ange URI (Uniform Resource Identifier) för en nätverksproxyserver.
Den här funktionen lades till i PowerShell 6.0.0.
Typ: | Uri |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ProxyCredential
Anger ett användarkonto som har behörighet att använda proxyservern som anges av proxyparametern. Standard är den aktuella användaren.
Ange ett användarnamn, till exempel User01 eller Domain01\User01, User@Domain.Comeller ange ett objekt, till exempel ett PSCredential
som genereras av cmdleten Get-Credential
.
Den här parametern är endast giltig när proxyparametern också används i kommandot . Du kan inte använda parametrarna ProxyCredential och ProxyUseDefaultCredentials i samma kommando.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ProxyUseDefaultCredentials
Anger att cmdleten använder autentiseringsuppgifterna för den aktuella användaren för att komma åt proxyservern som anges av proxyparametern .
Den här parametern är endast giltig när proxyparametern också används i kommandot . Du kan inte använda parametrarna ProxyCredential och ProxyUseDefaultCredentials i samma kommando.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ResponseHeadersVariable
Skapar en variabel som innehåller en ordlista för svarsrubriker. Ange ett variabelnamn utan symbolen dollartecken ($
). Nycklarna i ordlistan innehåller fältnamnen och värdena för svarshuvudet som returneras av webbservern.
Den här funktionen lades till i PowerShell 6.0.0.
Typ: | String |
Alias: | RHV |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Resume
Utför ett bästa försök att återuppta nedladdningen av en partiell fil. Parametern Resume kräver parametern OutFile .
Resume fungerar bara på storleken på den lokala filen och fjärrfilen och utför ingen annan verifiering av att den lokala filen och fjärrfilen är desamma.
Om den lokala filstorleken är mindre än fjärrfilens storlek försöker cmdleten att återuppta nedladdningen av filen och lägga till återstående byte i slutet av filen.
Om den lokala filstorleken är samma som fjärrfilens storlek vidtas ingen åtgärd och cmdleten förutsätter att nedladdningen redan har slutförts.
Om den lokala filstorleken är större än fjärrfilens storlek skrivs den lokala filen över och hela fjärrfilen laddas ned på nytt. Det här beteendet är detsamma som att använda OutFile utan Återuppta.
Om fjärrservern inte stöder återupptagning av nedladdningen skrivs den lokala filen över och hela fjärrfilen laddas ned helt på nytt. Det här beteendet är detsamma som att använda OutFile utan Återuppta.
Om den lokala filen inte finns skapas den lokala filen och hela fjärrfilen laddas ned helt. Det här beteendet är detsamma som att använda OutFile utan Återuppta.
Den här funktionen lades till i PowerShell 6.1.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-RetryIntervalSec
Anger intervallet mellan återförsök för anslutningen när en felkod mellan 400 och 599, inklusive eller 304 tas emot. Värdet måste vara mellan 1
och [int]::MaxValue
.
När felkoden är 429 och svaret innehåller egenskapen Återförsök efter i dess huvuden använder cmdleten det värdet för återförsöksintervallet, även om den här parametern har angetts.
Se även parametern MaximumRetryCount för att ange antalet återförsök.
Typ: | Int32 |
Position: | Named |
Standardvärde: | 5 |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SessionVariable
Skapar en variabel som innehåller webbbegärandesessionen. Ange ett variabelnamn utan symbolen dollartecken ($
).
När du anger en sessionsvariabel Invoke-RestMethod
skapar du ett sessionsobjekt för webbbegäran och tilldelar det till en variabel med det angivna namnet i PowerShell-sessionen. Du kan använda variabeln i sessionen så snart kommandot har slutförts.
Före PowerShell 7.4 är webbbegärandesessionen inte en beständig anslutning. Det är ett objekt som innehåller information om anslutningen och begäran, inklusive cookies, autentiseringsuppgifter, maximalt omdirigeringsvärde och användaragentsträngen. Du kan använda den för att dela tillstånd och data mellan webbbegäranden.
Från och med PowerShell 7.4 är webbbegärandesessionen beständig så länge egenskaperna för sessionen inte åsidosättas i en efterföljande begäran. När de är det återskapar cmdleten sessionen med de nya värdena. De beständiga sessionerna minskar kostnaderna för upprepade begäranden, vilket gör dem mycket snabbare.
Om du vill använda webbbegärandesessionen i efterföljande webbbegäranden anger du sessionsvariabeln i värdet för parametern WebSession . PowerShell använder data i sessionsobjektet för webbbegäran när den nya anslutningen upprättas. Om du vill åsidosätta ett värde i webbbegäranssessionen använder du en cmdlet-parameter, till exempel UserAgent eller Credential. Parametervärden har företräde framför värden i webbbegärandesessionen.
Du kan inte använda parametrarna SessionVariable och WebSession i samma kommando.
Typ: | String |
Alias: | SV |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SkipCertificateCheck
Hoppar över certifikatverifieringskontroller som innehåller alla valideringar, till exempel förfallodatum, återkallande, betrodd rotutfärdare osv.
Varning
Att använda den här parametern är inte säkert och rekommenderas inte. Den här växeln är endast avsedd att användas mot kända värdar med hjälp av ett självsignerat certifikat i testsyfte. Använd på egen risk.
Den här funktionen lades till i PowerShell 6.0.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SkipHeaderValidation
Anger att cmdleten ska lägga till rubriker i begäran utan validering.
Den här växeln ska användas för webbplatser som kräver huvudvärden som inte följer standarder. Om du anger den här växeln inaktiveras valideringen så att värdet kan skickas avmarkerat. När du anger det läggs alla rubriker till utan validering.
Detta inaktiverar valideringen för värden som skickas till parametrarna ContentType, Headers och UserAgent .
Den här funktionen lades till i PowerShell 6.0.0.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SkipHttpErrorCheck
Den här parametern gör att cmdleten ignorerar HTTP-felstatusar och fortsätter att bearbeta svar. Felsvaren skrivs till pipelinen precis som om de lyckades.
Den här parametern introducerades i PowerShell 7.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SslProtocol
Anger de SSL/TLS-protokoll som är tillåtna för webbbegäran. Som standard tillåts alla SSL/TLS-protokoll som stöds av systemet. SslProtocol gör det möjligt att begränsa till specifika protokoll i efterlevnadssyfte.
Dessa värden definieras som en flaggbaserad uppräkning. Du kan kombinera flera värden för att ange flera flaggor med hjälp av den här parametern. Värdena kan skickas till parametern SslProtocol som en matris med värden eller som en kommaavgränsad sträng med dessa värden. Cmdleten kombinerar värdena med hjälp av en binär-OR-åtgärd. Att skicka värden som en matris är det enklaste alternativet och du kan även använda tab-completion på värdena. Du kanske inte kan ange flera värden på alla plattformar.
Kommentar
På icke-Windows-plattformar kanske det inte går att ange Tls
eller Tls12
som ett alternativ. Stöd för Tls13
är inte tillgängligt på alla operativsystem och måste verifieras per operativsystem.
Den här funktionen lades till i PowerShell 6.0.0 och stöd för Tls13
lades till i PowerShell 7.1.
Typ: | WebSslProtocol |
Godkända värden: | Default, Tls, Tls11, Tls12, Tls13 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-StatusCodeVariable
Skapar en variabel som innehåller ett HTTP-statuskodresultat för begäran. Ange ett variabelnamn utan symbolen dollartecken ($
).
Parametern kan identifiera lyckade meddelanden eller felmeddelanden när den används med parametern SkipHttpErrorCheck .
Ange parameterns variabelnamn som en sträng, -StatusCodeVariable "scv"
till exempel .
Den här parametern introducerades i PowerShell 7.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Token
OAuth- eller Bearer-token som ska inkluderas i begäran. Token krävs av vissa autentiseringsalternativ . Det kan inte användas oberoende av varandra.
Token tar en SecureString
som innehåller token. Använd följande manuellt för att ange token:
Invoke-RestMethod -Uri $uri -Authentication OAuth -Token (Read-Host -AsSecureString)
Den här parametern introducerades i PowerShell 6.0.
Typ: | SecureString |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-TransferEncoding
Anger ett värde för http-svarshuvudet för överföringskodning. De acceptabla värdena för den här parametern är:
- Chunked
- Komprimera
- Tömma
- GZip
- Identitet
Typ: | String |
Godkända värden: | chunked, compress, deflate, gzip, identity |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UnixSocket
Anger namnet på unix-socketen som ska anslutas till. Den här parametern stöds i Unix-baserade system och Windows version 1803 och senare. Mer information om Windows-stöd för Unix-socketar finns i Windows/WSL Interop med AF_UNIX blogginlägg.
Den här parametern lades till i PowerShell 7.4.
Typ: | UnixDomainSocketEndPoint |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Uri
Anger URI (Uniform Resource Identifier) för den Internetresurs som webbbegäran skickas till. Den här parametern stöder HTTP-, HTTPS-, FTP- och FILE-värden.
Den här parametern krävs. Parameternamnet (Uri) är valfritt.
Typ: | Uri |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UseBasicParsing
Den här parametern är inaktuell. Från och med PowerShell 6.0.0 använder alla webbbegäranden endast grundläggande parsning. Den här parametern ingår endast för bakåtkompatibilitet och all användning av den påverkar inte cmdletens funktion.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UseDefaultCredentials
Anger att cmdleten använder den aktuella användarens autentiseringsuppgifter för att skicka webbbegäran. Detta kan inte användas med autentisering eller autentiseringsuppgifter och stöds kanske inte på alla plattformar.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UserAgent
Anger en användaragentsträng för webbbegäran.
Standardanvändaragenten liknar Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0
med små variationer för varje operativsystem och plattform.
Om du vill testa en webbplats med standardanvändaragentsträngen som används av de flesta webbläsare använder du egenskaperna för klassen PSUserAgent , till exempel Chrome, FireFox, InternetExplorer, Opera och Safari.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-WebSession
Anger en webbförfrågningssession. Ange variabelnamnet, inklusive dollartecknet ($
).
Om du vill åsidosätta ett värde i webbbegäranssessionen använder du en cmdlet-parameter, till exempel UserAgent eller Credential. Parametervärden har företräde framför värden i webbbegärandesessionen. Innehållsrelaterade rubriker, till exempel Content-Type
, kommer också att åsidosättas när ett MultipartFormDataContent-objekt anges för Brödtext.
Till skillnad från en fjärrsession är webbbegärandesessionen inte en beständig anslutning. Det är ett objekt som innehåller information om anslutningen och begäran, inklusive cookies, autentiseringsuppgifter, maximalt omdirigeringsvärde och användaragentsträngen. Du kan använda den för att dela tillstånd och data mellan webbbegäranden.
Om du vill skapa en webbförfrågningssession anger du ett variabelnamn, utan dollartecken, i värdet för parametern SessionVariable för ett Invoke-RestMethod
kommando. Invoke-RestMethod
skapar sessionen och sparar den i variabeln. I efterföljande kommandon använder du variabeln som värdet för parametern WebSession .
Du kan inte använda parametrarna SessionVariable och WebSession i samma kommando.
Typ: | WebRequestSession |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka brödtexten för en webbbegäran till den här cmdleten.
Utdata
När begäran returnerar ett heltal returnerar den här cmdleten det heltalet.
När begäran returnerar en sträng returnerar den här cmdleten strängen.
När begäran returnerar giltig XML returnerar den här cmdleten den som en XmlDocument.
PSObject
När begäran returnerar JSON-strängar returnerar den här cmdleten en PSObject som representerar data.
Kommentarer
PowerShell innehåller följande alias för Invoke-RestMethod
:
- Alla plattformar:
irm
Vissa funktioner kanske inte är tillgängliga på alla plattformar.
På grund av ändringar i .NET Core 3.1 använder PowerShell 7.0 och senare egenskapen HttpClient.DefaultProxy för att fastställa proxykonfigurationen.
Värdet för den här egenskapen är olika regler beroende på din plattform:
- För Windows: Läser proxykonfiguration från miljövariabler eller, om de inte har definierats, från användarens proxyinställningar.
- För macOS: Läser proxykonfiguration från miljövariabler eller, om de inte har definierats, från systemets proxyinställningar.
- För Linux: Läser proxykonfiguration från miljövariabler eller, om de inte har definierats, initierar den här egenskapen en icke-konfigurerad instans som kringgår alla adresser.
Miljövariablerna som används för DefaultProxy
initiering på Windows- och Unix-baserade plattformar är:
HTTP_PROXY
: värdnamnet eller IP-adressen för proxyservern som används för HTTP-begäranden.HTTPS_PROXY
: värdnamnet eller IP-adressen för proxyservern som används på HTTPS-begäranden.ALL_PROXY
: värdnamnet eller IP-adressen för proxyservern som används på HTTP- och HTTPS-begäranden omHTTP_PROXY
ellerHTTPS_PROXY
inte har definierats.NO_PROXY
: en kommaavgränsad lista över värdnamn som ska undantas från proxy.
PowerShell 7.4 har lagt till stöd för Brotli-komprimeringsalgoritmen.