Invoke-WebRequest 
	Hämtar innehåll från en webbsida på Internet.
Syntax
		StandardMethod (Standard)
	 
	Invoke-WebRequest
    [-Uri] <Uri>
    [-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-WebRequest
    [-Uri] <Uri>
    [-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-WebRequest
    [-Uri] <Uri>
    -CustomMethod <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-WebRequest
    [-Uri] <Uri>
    -CustomMethod <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
Cmdleten Invoke-WebRequest skickar HTTP- och HTTPS-begäranden till en webbsida eller webbtjänst. Den parsar svaret och returnerar samlingar med länkar, bilder och andra viktiga HTML-element.
Den här cmdleten introducerades i PowerShell 3.0.
Från och med PowerShell 7.0 stöder Invoke-WebRequest proxykonfiguration som definierats av miljövariabler. Se avsnittet Anteckningar i den här artikeln.
Viktigt!
Exemplen i den här artikeln refererar till värdar i domänen contoso.com. Det här är en fiktiv domän som används av Microsoft till exempel. Exemplen är utformade för att visa hur du använder cmdletarna.
Men eftersom de contoso.com webbplatserna inte finns fungerar exemplen inte. Anpassa exemplen till värdar i din miljö.
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 attributet charset i Content-Type-huvudet.
Exempel
Exempel 1: Skicka en webbbegäran
I det här exemplet används cmdleten Invoke-WebRequest för att skicka en webbbegäran till Bing.com webbplats.
$Response = Invoke-WebRequest -Uri https://www.bing.com/search?q=how+many+feet+in+a+mile
$Response.InputFields | Where-Object {
    $_.Name -like "* Value*"
} | Select-Object Name, Value
Name       Value
----       -----
From Value 1
To Value   5280
Det första kommandot utfärdar begäran och sparar svaret i variabeln $Response.
Det andra kommandot hämtar alla InputField- där egenskapen Name är som "* Value". De filtrerade resultaten skickas till Select-Object för att välja egenskaperna Name och Value.
Exempel 2: Använd en tillståndskänslig webbtjänst
Det här exemplet visar hur du använder cmdleten Invoke-WebRequest med en tillståndskänslig webbtjänst.
$LoginParameters = @{
    Uri             = 'https://www.contoso.com/login/'
    SessionVariable = 'Session'
    Method          = 'POST'
    Body            = @{
        User     = 'jdoe'
        Password = 'P@S$w0rd!'
    }
}
$LoginResponse = Invoke-WebRequest @LoginParameters
$ProfileResponse = Invoke-WebRequest 'https://www.contoso.com/profile/' -WebSession $Session
Det första anropet till Invoke-WebRequest skickar en inloggningsbegäran. Kommandot anger värdet Session för värdet för parametern SessionVariable. När kommandot har slutförts innehåller variabeln $LoginResponse en BasicHtmlWebResponseObject- och variabeln $Session innehåller ett WebRequestSession objekt. Detta loggar in användaren på webbplatsen.
Det andra anropet till Invoke-WebRequest hämtar användarens profil, vilket kräver att användaren är inloggad på webbplatsen. Sessionsdata som lagras i variabeln $Session tillhandahåller sessionscookies till webbplatsen som skapades under inloggningen.
Exempel 3: Hämta länkar från en webbsida
Det här exemplet hämtar länkarna på en webbsida. Den använder cmdleten Invoke-WebRequest för att hämta innehållet på webbsidan. Sedan används egenskapen Länkar för egenskapen BasicHtmlWebResponseObject som Invoke-WebRequest returnerar och egenskapen Href för varje länk.
(Invoke-WebRequest -Uri "https://aka.ms/pscore6-docs").Links.Href
Exempel 4: Skriva svarsinnehåll till en fil med hjälp av kodningen som definierats på den begärda sidan
I det här exemplet används cmdleten Invoke-WebRequest för att hämta webbsidans innehåll på en PowerShell-dokumentationssida.
$Response = Invoke-WebRequest -Uri "https://aka.ms/pscore6-docs"
$Stream = [System.IO.StreamWriter]::new('.\docspage.html', $false, $Response.Encoding)
try {
    $Stream.Write($Response.Content)
} finally {
    $Stream.Dispose()
}
Det första kommandot hämtar sidan och sparar svarsobjektet i variabeln $Response.
Det andra kommandot skapar en StreamWriter- som ska användas för att skriva svarsinnehållet till en fil. Egenskapen Kodning för svarsobjektet används för att ange kodningen för filen.
De sista kommandona skriver egenskapen Content till filen och tar sedan bort StreamWriter-.
Observera att egenskapen Kodning är null om webbbegäran inte returnerar textinnehåll.
Exempel 5: Skicka en fil med flera delar/formulärdata
I det här exemplet används cmdleten Invoke-WebRequest ladda upp en fil som en multipart/form-data sändning. Filen C:\document.txt skickas som formulärfältet document med Content-Type för text/plain.
$FilePath = 'C:\document.txt'
$FieldName = 'document'
$ContentType = 'text/plain'
$FileStream = [System.IO.FileStream]::new($filePath, [System.IO.FileMode]::Open)
$FileHeader = [System.Net.Http.Headers.ContentDispositionHeaderValue]::new('form-data')
$FileHeader.Name = $FieldName
$FileHeader.FileName = Split-Path -Leaf $FilePath
$FileContent = [System.Net.Http.StreamContent]::new($FileStream)
$FileContent.Headers.ContentDisposition = $FileHeader
$FileContent.Headers.ContentType = [System.Net.Http.Headers.MediaTypeHeaderValue]::Parse($ContentType)
$MultipartContent = [System.Net.Http.MultipartFormDataContent]::new()
$MultipartContent.Add($FileContent)
$Response = Invoke-WebRequest -Body $MultipartContent -Method 'POST' -Uri 'https://api.contoso.com/upload'
Exempel 6: Förenklad sändning av flera delar/Form-Data
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ändarprofil.
$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-WebRequest -Uri $Uri -Method Post -Form $Form
Profilformuläret kräver följande fält: firstName, lastName, email, avatar, birthdayoch hobbies. API:et förväntar sig att en bild för användarprofilbilden ska anges i fältet avatar. API:t accepterar också flera hobbies-poster som ska 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.
Med Get-Item på avatar-nyckeln anges det FileInfo objektet som värde. Resultatet är att avbildningsdata för jdoe.png skickas.
Genom att ange en lista till nyckeln hobbies, förekommer fältet hobbies i inlämningarna en gång för varje objekt i listan.
Exempel 7: Fånga icke-lyckade meddelanden från Invoke-WebRequest 
	När Invoke-WebRequest stöter på ett HTTP-meddelande som inte lyckas (404, 500 osv.) returnerar det inga utdata och utlöser ett avslutande fel. Om du vill fånga felet och visa StatusCode kan du omsluta körningen i ett try/catch-block.
try
{
    $Response = Invoke-WebRequest -Uri "www.microsoft.com/unkownhost"
    # This will only execute if the Invoke-WebRequest is successful.
    $StatusCode = $Response.StatusCode
} catch {
    $StatusCode = $_.Exception.Response.StatusCode.value__
}
$StatusCode
404
Det avslutande felet fångas av catch-blocket, som hämtar StatusCode- från objektet Exception.
Exempel 8: Ladda ned flera filer samtidigt
Cmdleten Invoke-WebRequest kan bara ladda ned en fil i taget. I följande exempel används Start-ThreadJob för att skapa flera trådjobb för att ladda ned flera filer samtidigt.
$baseUri = 'https://github.com/PowerShell/PowerShell/releases/download'
$files = @(
    @{
        Uri = "$baseUri/v7.3.0-preview.5/PowerShell-7.3.0-preview.5-win-x64.msi"
        OutFile = 'PowerShell-7.3.0-preview.5-win-x64.msi'
    },
    @{
        Uri = "$baseUri/v7.3.0-preview.5/PowerShell-7.3.0-preview.5-win-x64.zip"
        OutFile = 'PowerShell-7.3.0-preview.5-win-x64.zip'
    },
    @{
        Uri = "$baseUri/v7.2.5/PowerShell-7.2.5-win-x64.msi"
        OutFile = 'PowerShell-7.2.5-win-x64.msi'
    },
    @{
        Uri = "$baseUri/v7.2.5/PowerShell-7.2.5-win-x64.zip"
        OutFile = 'PowerShell-7.2.5-win-x64.zip'
    }
)
$jobs = @()
foreach ($file in $files) {
    $jobs += Start-ThreadJob -Name $file.OutFile -ScriptBlock {
        $params = $Using:file
        Invoke-WebRequest @params
    }
}
Write-Host "Downloads started..."
Wait-Job -Job $jobs
foreach ($job in $jobs) {
    Receive-Job -Job $job
}
Exempel 9: Hoppa över sidhuvudvalidering
Som standard validerar cmdleten Invoke-WebRequest värdena för välkända rubriker som har ett standarddefinierat värdeformat. I följande exempel visas hur den här valideringen kan generera ett fel och hur du kan använda parametern SkipHeaderValidation för att undvika att validera värden för slutpunkter som tolererar ogiltigt formaterade värden.
$Uri = 'https://httpbin.org/headers'
$InvalidHeaders = @{
    'If-Match' = '12345'
}
Invoke-WebRequest -Uri $Uri -Headers $InvalidHeaders
Invoke-WebRequest -Uri $Uri -Headers $InvalidHeaders -SkipHeaderValidation
Invoke-WebRequest: The format of value '12345' is invalid.
StatusCode        : 200
StatusDescription : OK
Content           : {
                      "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": �
RawContent        : HTTP/1.1 200 OK
                    Date: Mon, 08 Aug 2022 16:24:24 GMT
                    Connection: keep-alive
                    Server: gunicorn/19.9.0
                    Access-Control-Allow-Origin: *
                    Access-Control-Allow-Credentials: true
                    Content-Type: application�
Headers           : {[Date, System.String[]], [Connection, System.String[]], [Server, System.String[]], [Access-Control-Allow-Origin, System.String[]]�}
Images            : {}
InputFields       : {}
Links             : {}
RawContentLength  : 249
RelationLink      : {}
              httpbin.org är en tjänst som returnerar information om webbbegäranden och svar för felsökning. Variabeln $Uri tilldelas till tjänstens /headers slutpunkt, som returnerar en begärans huvuden som innehåll i svaret.
              If-Match-begäransrubriken definieras i RFC-7232 avsnitt 3.1 och kräver att värdet för den rubriken definieras med omgivande citattecken. Variabeln $InvalidHeaders tilldelas en hash-tabell där värdet för If-Match är ogiltigt eftersom det definieras som 12345 i stället för "12345".
När man anropar Invoke-WebRequest med ogiltiga huvuden returneras ett fel som rapporterar att det formaterade värdet är ogiltigt. Begäran skickas inte till slutpunkten.
Anropa Invoke-WebRequest med parametern SkipHeaderValidation för att ignorera verifieringsfelet och skicka begäran till slutpunkten. Eftersom slutpunkten tolererar icke-kompatibla huvudvärden returnerar cmdleten svarsobjektet utan fel.
Exempel 10: Skicka en begäran med HTTP 2.0
Det här exemplet hämtar länkarna på en webbsida med hjälp av HTTP 2.0-protokollet. Den använder cmdleten Invoke-WebRequest för att hämta innehållet på webbsidan. Sedan används egenskapen Länkar för egenskapen BasicHtmlWebResponseObject som Invoke-WebRequest returnerar och egenskapen Href för varje länk.
(Invoke-WebRequest -Uri 'https://aka.ms/pscore6-docs' -HttpVersion 2.0).Links.Href
Exempel 11: Skicka en begäran till ett Unix-socketprogram
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-WebRequest -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.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-AllowUnencryptedAuthentication  
		Tillåter sändning av autentiseringsuppgifter och hemligheter via okrypterade anslutningar. Om du anger autentiseringsuppgifter eller något autentiseringsalternativ med ett URI- som inte börjar med https:// resulterar det i ett fel och begäran avbryts för att förhindra oavsiktlig kommunikation av hemligheter i oformaterad 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.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Authentication
Anger den explicita autentiseringstyp som ska användas för begäran. Standardvärdet är Ingen. Parametern Authentication kan inte användas med parametern UseDefaultCredentials.
Tillgängliga autentiseringsalternativ:
- 
              None: Det här är standardalternativet när autentisering inte anges. Ingen explicit autentisering används.
- 
              Basic: Kräver autentiseringsuppgifter. Autentiseringsuppgifterna skickas som en GRUNDLÄGGANDE RFC 7617-autentiseringsrubrikAuthorization: Basici formatetbase64(user:password).
- 
              Bearer: Kräver parametern Token. Skickar ett RFC 6750Authorization: Bearer-huvud med den angivna token.
- 
              OAuth: Kräver parametern Token. Skickar ett RFC 6750Authorization: Bearer-huvud med den angivna token.
Om du tillhandahåller autentisering åsidosätter alla Authorization rubriker som tillhandahålls till rubriker eller som ingår i WebSession.
Den här funktionen lades till i PowerShell 6.0.0.
Parameteregenskaper
| Typ: | WebAuthenticationType | 
| Standardvärde: | None | 
| Godkända värden: | None, Basic, Bearer, OAuth | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Body
Anger innehållet i begäran. Kroppen är innehållet i begäran som följer efter rubrikerna.
Du kan också skicka ett kroppsvärde till Invoke-WebRequest.
Parametern Body 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 System.Net.WebUtility.UrlEncode metodmetod för att koda nyckel/värde-paren. Mer information om kodningssträngar för URL:er finns i urlencode()-metodreferensen.
När indata är en POST-begäran och brödtexten är en Stränganges värdet till vänster om det första likhetstecknet (=) som en nyckel i formulärdata och den återstående texten anges som värdet. Om du vill ange flera nycklar använder du ett IDictionary-objekt, till exempel en hash-tabell, för Body.
När indata är en GET-begäran och brödtexten är en IDictionary- (vanligtvis en hashtabell) 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.
Parametern Body accepterar också 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, åsidosättas alla innehållsrelaterade rubriker som skickas till ContentType, Headerseller WebSession parametrar av innehållsrubrikerna i MultipartFormDataContent-objektet. Den här funktionen lades till i PowerShell 6.0.0.
Parameteregenskaper
| Typ: | Object | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | True | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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 du Get-PfxCertificate eller Get-ChildItem-cmdleten på Certifikat-enheten (Cert:). Om certifikatet inte är giltigt eller inte har tillräcklig behörighet misslyckas kommandot.
Parameteregenskaper
| Typ: | X509Certificate | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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 kommandot Get-Item eller Get-ChildItem för att hitta certifikatet i Cert:\CurrentUser\My.
Anmärkning
Den här funktionen stöds endast på Windows OS-plattformar.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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 återvända eller avbrytas på grund av tidsgränsen. Om din begäran innehåller ett värdnamn som behöver lösas 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 kastas och din begäran avbryts på grund av tidsgränsen.
Den här parametern ersatte parametern TimeoutSec i PowerShell 7.4. Du kan använda TimeoutSec som alias för ConnectionTimeoutSeconds.
Parameteregenskaper
| Typ: | Int32 | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | TimeoutSec | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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 alfabetet latinsk/kyrillisk.
Om du utelämnar parametern kan innehållstypen vara annorlunda baserat på den HTTP-metod som du använder:
- För en POST-metod är innehållstypen application/x-www-form-urlencoded
- För en PUT-metod är innehållstypen application/json
- För andra metoder anges inte innehållstypen i begäran
Om du använder parametern InFile för att ladda upp en fil bör du ange innehållstypen.
Vanligtvis ska typen vara application/octet-stream. Du måste dock ange innehållstypen baserat på slutpunktens krav.
ContentType åsidosättas när Body är ett MultipartFormDataContent- objekt.
Från och med PowerShell 7.4 används värdet som anges i parametern ContentType om du använder både den här parametern och parametern Content-Type för att definiera -huvudet.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Credential
Anger ett användarkonto som har behörighet att skicka begäran. Standardvärdet ä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.
för autentiseringsuppgifter kan användas ensamt eller tillsammans med vissa autentisering parameteralternativ. När den används ensam tillhandahåller den bara autentiseringsuppgifter till fjärrservern om fjärrservern skickar en begäran om autentiseringsutmaning. När de används med autentiseringsalternativ skickas autentiseringsuppgifterna uttryckligen.
Autentiseringsuppgifter lagras i ett PSCredential--objekt och lösenordet lagras som en SecureString-.
Anmärkning
Mer information om SecureString dataskydd finns i Hur säker är SecureString?.
Parameteregenskaper
| Typ: | PSCredential | 
| Standardvärde: | Current user | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-CustomMethod 
		Anger en anpassad metod som används för webbbegäran. Detta kan användas om den begärandemetod som krävs av slutpunkten inte är ett tillgängligt alternativ för -metoden. Metoden och CustomMethod kan inte användas tillsammans.
I det här exemplet görs en TEST HTTP-begäran till API:et:
Invoke-WebRequest -Uri 'https://api.contoso.com/widget/' -CustomMethod 'TEST'
Den här funktionen lades till i PowerShell 6.0.0.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | CENTIMETER | 
Parameteruppsättningar
					CustomMethod 
					
				 
				| Position: | Named | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					CustomMethodNoProxy 
					
				  
				| Position: | Named | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-DisableKeepAlive  
		Anger att cmdleten anger värdet KeepAlive i HTTP-huvudet till False. Som standard är KeepAliveTrue. KeepAlive upprättar en beständig anslutning till servern för att underlätta efterföljande begäranden.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Form
Konverterar en ordlista till en multipart/form-data-inlämning. 
              Formulär får inte användas med Body.
Om ContentType- används ignoreras det.
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 egenskapen filnamn. MIME-typen 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 matriser eller listor, 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, Italyoch 2017. Fältet pictures skickas också en gång för varje fil i mappen 2017-Italy. Det binära innehållet i filerna i mappen skickas som värden.
Den här funktionen lades till i PowerShell 6.1.0.
Parameteregenskaper
| Typ: | IDictionary | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Headers
Anger sidhuvudena för webbbegäran. Ange en hashtabell eller ordlista.
Innehållsrelaterade rubriker, till exempel Content-Type åsidosättas när ett MultipartFormDataContent--objekt anges för Body.
Från och med PowerShell 7.4 används det värde som anges i parametern Content-Type om du använder den här parametern för att definiera -huvudet och använda parametern ContentType.
Parameteregenskaper
| Typ: | IDictionary | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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
Parameteregenskaper
| Typ: | Version | 
| Standardvärde: | 1.1 | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-InFile 
		Hämtar innehållet i webbbegärandetexten 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.
Du måste också ange innehållstypen för begäran. Om du till exempel vill ladda upp en fil bör du ange innehållstypen. Vanligtvis ska typen vara application/octet-stream. Du måste dock ange innehållstypen baserat på slutpunktens krav.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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.
Parameteregenskaper
| Typ: | Int32 | 
| Standardvärde: | 5 | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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 RetryIntervalSec parameter för att ange intervallet mellan återförsök.
Parameteregenskaper
| Typ: | Int32 | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Method
Anger den metod som används för webbbegäran. De godtagbara 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.
Parameteregenskaper
| Typ: | WebRequestMethod | 
| Standardvärde: | None | 
| Godkända värden: | Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					StandardMethod 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					StandardMethodNoProxy 
					
				  
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-NoProxy 
		Anger att cmdleten inte ska använda en proxy för att nå målet. När du behöver kringgå proxyn som konfigurerats i miljön använder du den här växeln. Den här funktionen lades till i PowerShell 6.0.0.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					StandardMethodNoProxy 
					
				  
				| Position: | Named | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					CustomMethodNoProxy 
					
				  
				| Position: | Named | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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.
Parameteregenskaper
| Typ: | Int32 | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-OutFile 
		Som standard returnerar Invoke-WebRequest 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 bokstavlig 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 filnamnet från det sista segmentet av den lösta URI:n efter eventuella omdirigeringar. När du anger en mappsökväg för OutFilekan du inte använda parametern Återuppta.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-PassThru 
		Anger att cmdleten returnerar resultatet, förutom att skriva dem till en fil. Den här parametern är endast giltig när parametern OutFile också används i kommandot .
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-PreserveAuthorizationOnRedirect  
		Anger att cmdleten ska bevara Authorization-rubriken över omdirigeringar, när den finns.
Som standardinställning tar cmdlet-kommandot bort Authorization huvud innan den omdirigerar. Om du anger den här parametern inaktiveras logiken för fall där headern måste skickas till omdirigeringsplatsen.
Den här funktionen lades till i PowerShell 6.0.0.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-PreserveHttpMethodOnRedirect   
		Kommandot anger att cmdleten ska bevara förfrågans metod vid 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.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Proxy
Anger en proxyserver för begäran i stället för att ansluta direkt till Internetresursen. Ange URI för en nätverksproxyserver.
Parameteregenskaper
| Typ: | Uri | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					StandardMethod 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					CustomMethod 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-ProxyCredential 
		Anger ett användarkonto som har behörighet att använda proxyservern som anges av parametern Proxy. Standardvärdet är den aktuella användaren.
Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential- objekt, till exempel ett som genereras av Get-Credential cmdlet.
Den här parametern är endast giltig när parametern Proxy också används i kommandot . Du kan inte använda parametrarna ProxyCredential och ProxyUseDefaultCredentials i samma kommando.
Parameteregenskaper
| Typ: | PSCredential | 
| Standardvärde: | Current user | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					StandardMethod 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					CustomMethod 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-ProxyUseDefaultCredentials   
		Anger att cmdleten använder den aktuella användarens autentiseringsuppgifter för att komma åt proxyservern som anges av parametern Proxy.
Den här parametern är endast giltig när parametern Proxy också används i kommandot . Du kan inte använda parametrarna ProxyCredential och ProxyUseDefaultCredentials i samma kommando.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
					StandardMethod 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
					CustomMethod 
					
				 
				| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Resume
Utför ett bästa försök att återuppta nedladdningen av en partiell fil. Återuppta kräver OutFile.
Återuppta 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 de återstående byteen 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 är klar.
Om den lokala filstorleken är större än fjärrfilens storlek skrivs den lokala filen över och hela fjärrfilen laddas ned igen. Det här beteendet är detsamma som att använda OutFile utan återuppta.
Om fjärrservern inte stöder återupptagning av nedladdning skrivs den lokala filen över och hela fjärrfilen laddas ned igen. 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. Det här beteendet är detsamma som att använda OutFile utan återuppta.
Den här funktionen lades till i PowerShell 6.1.0.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-RetryIntervalSec  
		Anger intervallet mellan återförsök för anslutningen när en felkod mellan 400 och 599, inklusive eller 304 tas emot. Se även parametern MaximumRetryCount för att ange antalet återförsök. Värdet måste vara mellan 1 och [int]::MaxValue.
När felkoden är 429 och svaret innehåller egenskapen Försök igen efter i dess huvuden använder cmdleten det värdet för återförsöksintervallet, även om den här parametern har angetts.
Parameteregenskaper
| Typ: | Int32 | 
| Standardvärde: | 5 | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-SessionVariable 
		Anger en variabel för vilken den här cmdleten skapar en webbbegärandesession och sparar den i värdet.
Ange ett variabelnamn utan symbolen dollartecken ($).
När du anger en sessionsvariabel skapar Invoke-WebRequest 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 det sker å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.
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
| Alias: | SV | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-SkipCertificateCheck  
		Hoppar över certifikatverifieringskontroller. Detta omfattar 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.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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 rubrikvärden som inte följer standarder. Genom att ange den här växeln inaktiveras valideringen och tillåter att värdet skickas utan kontroll. När du anger det läggs alla rubriker till utan validering.
Den här växeln inaktiverar validering av värden som skickas till parametrarna ContentType, Headers och UserAgent.
Den här funktionen lades till i PowerShell 6.0.0.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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 tillåter begränsning 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 definiera flera alternativ på alla plattformar.
Anmärkning
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.
Parameteregenskaper
| Typ: | WebSslProtocol | 
| Standardvärde: | None | 
| Godkända värden: | Default, Tls, Tls11, Tls12 | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Token
OAuth- eller Bearer-token som ska inkluderas i begäran. Token krävs för vissa alternativ för Autentisering. Det kan inte användas oberoende av varandra.
              token tar en SecureString som innehåller token. Använd följande för att ange token manuellt:
Invoke-WebRequest -Uri $uri -Authentication OAuth -Token (Read-Host -AsSecureString)
Den här parametern introducerades i PowerShell 6.0.
Parameteregenskaper
| Typ: | SecureString | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-TransferEncoding 
		Anger ett värde för http-svarshuvudet för överföringskodning. De godtagbara värdena för den här parametern är:
- Chunked
- Compress
- Deflate
- GZip
- Identity
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Godkända värden: | chunked, compress, deflate, gzip, identity | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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 blogginlägget Windows/WSL Interop med AF_UNIX.
Den här parametern lades till i PowerShell 7.4.
Parameteregenskaper
| Typ: | UnixDomainSocketEndPoint | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
-Uri
Anger URI (Uniform Resource Identifier) för den Internetresurs som webbbegäran skickas till. Ange en URI. Den här parametern stöder endast HTTP eller HTTPS.
Den här parametern krävs. Parameternamnet Uri är valfritt.
Parameteregenskaper
| Typ: | Uri | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | 0 | 
| Obligatorisk: | True | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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.
Parameteregenskaper
| Typ: | SwitchParameter | 
| Standardvärde: | False | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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.
Följande kommando använder till exempel användaragentsträngen för Internet Explorer: Invoke-WebRequest -Uri https://website.com/ -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)
Parameteregenskaper
| Typ: | String | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | 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, åsidosättas också när ett MultipartFormDataContent--objekt anges för Body.
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-WebRequest kommando. 
              Invoke-WebRequest 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.
Parameteregenskaper
| Typ: | WebRequestSession | 
| Standardvärde: | None | 
| Stöder jokertecken: | False | 
| DontShow: | False | 
Parameteruppsättningar
(All)
| Position: | Named | 
| Obligatorisk: | False | 
| Värde från pipeline: | False | 
| Värde från pipeline efter egenskapsnamn: | False | 
| Värde från återstående argument: | False | 
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.
Indata
Object
Du kan skicka brödtexten för en webbbegäran till den här cmdleten.
Utdata
BasicHtmlWebResponseObject
Den här cmdleten returnerar svarsobjektet som representerar resultatet av webbbegäran.
Kommentarer
PowerShell innehåller följande alias för Invoke-WebRequest:
- Alla plattformar: - iwr
 
Från och med PowerShell 6.0.0 stöder Invoke-WebRequest endast grundläggande parsning.
Mer information finns i BasicHtmlWebResponseObject.
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 bestäms av din plattform:
- För Windows: Läser proxykonfiguration från miljövariabler. Om dessa variabler inte har definierats härleds egenskapen från användarens proxyinställningar.
- För macOS-: Läser proxykonfiguration från miljövariabler. Om dessa variabler inte definieras härleds egenskapen från systemets proxyinställningar.
- För Linux: Läser proxykonfiguration från miljövariabler. Om dessa variabler inte definieras initierar 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 på 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_PROXYellerHTTPS_PROXYinte har definierats.
- 
              NO_PROXY: en kommaavgränsad lista med värdnamn som ska undantas från proxy.
PowerShell 7.4 har lagt till stöd för Brotli-komprimeringsalgoritmen.