Megosztás a következőn keresztül:


Invoke-RestMethod

HTTP- vagy HTTPS-kérést küld egy RESTful webszolgáltatásnak.

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

A Invoke-RestMethod parancsmag HTTP- és HTTPS-kéréseket küld az Representational State Transfer (REST) webszolgáltatásoknak, amelyek gazdagon strukturált adatokat adnak vissza.

A PowerShell az adattípusnak megfelelően formázja a választ. RSS- vagy ATOM-hírcsatornák esetén a PowerShell az Elem vagy a Bejegyzés XML-csomópontot adja vissza. JavaScript Object Notation (JSON) vagy XML esetén a PowerShell objektummá alakítja vagy deszerializálja a tartalmat [PSCustomObject] .

Feljegyzés

Amikor a REST-végpont több objektumot ad vissza, az objektumok tömbként lesznek fogadva. Ha a kimenetet egy másik parancsra Invoke-RestMethod irányítja, az egyetlen [Object[]] objektumként lesz elküldve. A tömb tartalma nem lesz számba adva a folyamat következő parancsához.

Ezt a parancsmagot a Windows PowerShell 3.0-ban vezettük be.

A PowerShell 7.0-tól Invoke-RestMethod kezdve támogatja a környezeti változók által definiált proxykonfigurációt. Lásd a cikk Jegyzetek szakaszát.

A PowerShell 7.4-től kezdődően a kérések karakterkódolása az ASCII helyett az UTF-8 lesz. Ha más kódolásra van szüksége, be kell állítania az charset attribútumot a Content-Type fejlécben.

Példák

1. példa: A PowerShell RSS-hírcsatornájának lekérése

Ez a példa a Invoke-RestMethod parancsmagot használja a PowerShell blog RSS-hírcsatornájának információinak lekéréséhez. A parancs a Format-Table parancsmaggal jeleníti meg az egyes blogok Cím és pubDate tulajdonságának értékeit egy táblázatban.

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

2. példa: POST-kérelem futtatása

Ebben a példában egy felhasználó egy POST kérést hajt Invoke-RestMethod végre egy intranetes webhelyen a felhasználó szervezetében.

$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

A rendszer kéri a hitelesítő adatokat, majd tárolja őket, $Cred és a hozzáférést biztosító URL-címet a rendszer a következőben definiálja $Url: .

A $Body változó a keresési feltételeket írja le, a CSV-t adja meg kimeneti módként, és megadja a visszaadott adatok két nappal ezelőtt kezdődő és egy nappal ezelőtt befejezett időtartamát. A törzsváltozó azon paraméterek értékeit határozza meg, amelyek az adott REST API-ra vonatkoznak, amellyel Invoke-RestMethod kommunikálnak.

A Invoke-RestMethod parancs az összes változóval fut, és megadja az eredményül kapott CSV kimeneti fájl elérési útját és fájlnevét.

3. példa: Relációs hivatkozások követése

Egyes REST API-k RFC5988 relációs hivatkozásokon keresztül támogatják a lapozást. Ahelyett, hogy elemezte volna a fejlécet a következő oldal URL-címének lekéréséhez, a parancsmag ezt elvégezheti Ön helyett. Ez a példa a PowerShell GitHub-adattár első két lapját adja vissza.

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

4. példa: Egyszerűsített többrészes/űrlap-adatküldés

Egyes API-k fájlokat és vegyes tartalmakat töltenek multipart/form-data fel. Ez a példa bemutatja, hogyan frissítheti egy felhasználó profilját.

$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

A profilűrlaphoz a következő mezők szükségesek: firstName, lastName, email, avatar, birthdayés hobbies. Az API arra számít, hogy a felhasználói profil képe megjelenik a avatar mezőben. Az API több bejegyzést is elfogad hobbies , amelyet ugyanabban az űrlapon kell elküldeni.

A Kivonatoló létrehozásakor a $Form rendszer a kulcsneveket űrlapmezőnevekként használja. Alapértelmezés szerint a HashTable értékei sztringekké lesznek konvertálva. Ha egy System.IO.FileInfo érték jelenik meg, a fájl tartalma el lesz küldve. Ha egy gyűjtemény, például tömbök vagy listák találhatók, az űrlapmező többször lesz elküldve.

A kulcs használatával Get-Item avatar az FileInfo objektum értékként lesz beállítva. Az eredmény az, hogy a rendszer a képadatokat jdoe.png küldi el.

Ha megad egy listát a hobbies kulcsnak, a hobbies mező minden egyes listaelemnél egyszer jelen lesz a beküldésekben.

5. példa: Több fejléc átadása

Az API-k gyakran megkövetelik az átment fejléceket a hitelesítéshez vagy az ellenőrzéshez. Ez a példa bemutatja, hogyan továbbíthat több fejlécet egy hash-table REST API-nak.

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

6. példa: A visszaadott elemek számbavétele a folyamaton

A GitHub több objektumot ad vissza egy tömbhöz. Ha a kimenetet egy másik parancsra irányítja, az egyetlen [Object[]]objektumként lesz elküldve.

Ha az objektumokat a folyamatba szeretné sorolni, az eredményeket zárójelben kell befuttatnia Write-Output vagy becsomagolnia a parancsmagba. Az alábbi példa a GitHub által visszaadott objektumok számát számolja. Ezután megszámolja a folyamatba enumerált objektumok számát.

$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

7. példa: A fejléc érvényesítése kihagyása

A parancsmag alapértelmezés szerint Invoke-RestMethod ellenőrzi a szabvány által definiált értékformátummal rendelkező jól ismert fejlécek értékeit. Az alábbi példa bemutatja, hogy ez az ellenőrzés hogyan okozhat hibát, és hogyan használhatja a SkipHeaderValidation paramétert az érvénytelenül formázott értékeket toleráló végpontok értékeinek ellenőrzésének elkerülésére.

$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 egy szolgáltatás, amely információkat ad vissza a webes kérelmekről és a hibaelhárításra adott válaszokról. A $Uri változó a /headers szolgáltatás végpontjára van rendelve, amely egy kérés fejléceit adja vissza a válaszában lévő tartalomként.

A If-Match kérelem fejléce az RFC-7232 3.1 szakaszban van definiálva, és megköveteli, hogy az adott fejléc értékét a környező idézőjelekkel együtt definiálja. A $InvalidHeaders változóhoz egy kivonattáblát rendelünk, amelynek értéke If-Match érvénytelen, mert a függvény ahelyett van definiálva"12345"12345.

Az érvénytelen fejléceket tartalmazó hívás Invoke-RestMethod hibaüzenetet ad vissza, amely azt jelzi, hogy a formázott érték érvénytelen. A rendszer nem küldi el a kérelmet a végpontnak.

A SkipHeaderValidation paraméterrel történő hívás Invoke-RestMethod figyelmen kívül hagyja az érvényesítési hibát, és elküldi a kérést a végpontnak. Mivel a végpont tolerálja a nem megfelelő fejlécértékeket, a parancsmag hiba nélkül adja vissza a válaszobjektumot.

8. példa: Kérés küldése HTTP 2.0 használatával

Ez a példa a Http 2.0 protokoll használatával lekérdezi a GitHub-problémát.

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

9. példa: Kérelem küldése Unix szoftvercsatornás alkalmazásnak

Egyes alkalmazások, például a Docker, egy Unix-szoftvercsatornát tesznek elérhetővé a kommunikációhoz. Ez a példa a Docker API használatával lekérdezi a Docker-rendszerképek listáját. A parancsmag a Unix-szoftvercsatornával csatlakozik a Docker-démonhoz.

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

Paraméterek

-AllowInsecureRedirect

Engedélyezi a HTTPS-ről a HTTP-be való átirányítást. Alapértelmezés szerint a HTTPS-ről HTTP-ra átirányított kérések hibát eredményeznek, és a kérés megszakad, hogy a rendszer megakadályozza a nem titkosított kapcsolatokon keresztüli, egyszerű szöveges kommunikációt. Ha ezt a viselkedést saját kockázatára szeretné felülbírálni, használja az AllowInsecureRedirect paramétert.

Ez a paraméter a PowerShell 7.4-ben lett hozzáadva.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-AllowUnencryptedAuthentication

Lehetővé teszi a hitelesítő adatok és titkos kódok titkosítás nélküli kapcsolatokon keresztüli küldését. Alapértelmezés szerint a hitelesítő adatok vagy bármely hitelesítési beállítás nem kezdődő https:// URI-val való ellátása hibát eredményez, és a kérés megszakítja a titkos kódok véletlen közlését egyszerű szövegben, titkosítatlan kapcsolatokon keresztül. Ha saját kockázatára szeretné felülbírálni ezt a viselkedést, adja meg az AllowUnencryptedAuthentication paramétert.

Figyelmeztetés

A paraméter használata nem biztonságos, ezért nem ajánlott. Csak az örökölt rendszerekkel való kompatibilitás érdekében érhető el, amelyek nem tudnak titkosított kapcsolatokat biztosítani. Saját felelősségre használható.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Authentication

Megadja a kérelemhez használandó explicit hitelesítési típust. Az alapértelmezett érték Nincs. A hitelesítési paraméter nem használható a UseDefaultCredentials paraméterrel.

Elérhető hitelesítési beállítások:

  • None: Ez az alapértelmezett beállítás, ha a hitelesítés nincs megadva. A rendszer nem használ explicit hitelesítést.
  • Basic: Hitelesítő adatokat igényel. A hitelesítő adatokkal RFC 7617 Egyszerű hitelesítés Authorization: Basic fejlécet küldünk a következő formátumban base64(user:password): .
  • Bearer: A Token paramétert igényli. Egy RFC 6750-fejlécet Authorization: Bearer küld a megadott jogkivonattal.
  • OAuth: A Token paramétert igényli. Egy RFC 6750-fejlécet Authorization: Bearer küld a megadott jogkivonattal.

A hitelesítés megadása felülbírálja Authorization a fejlécekhez megadott vagy a WebSession szolgáltatásban szereplő fejléceket.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:WebAuthenticationType
Elfogadott értékek:None, Basic, Bearer, OAuth
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Body

A kérelem törzsét adja meg. A törzs a fejléceket követő kérés tartalma. A törzsértékeket is becsúszthatja a parancsba Invoke-RestMethod.

A Törzs paraméterrel megadhatja a lekérdezési paraméterek listáját, vagy megadhatja a válasz tartalmát. Lekérdezési paraméterek esetén a parancsmag a System.Net.WebUtility.UrlEncode metódust használja a kulcs-érték párok kódolásához. Az URL-címek kódolási sztringjeiről további információt az UrlEncode() metódusreferenciában talál.

Ha a bemenet POST kérés, és a törzs egy sztring, az első egyenlőségjel (=) bal oldalán lévő érték kulcsként van beállítva az űrlapadatokban, a fennmaradó szöveg pedig értékként van beállítva. Több kulcs megadásához használjon egy IDictionary objektumot, például egy kivonattáblát a törzshöz.

Ha a bemenet get kérés, és a törzs egy IDictionary (általában kivonattáblázat), a rendszer lekérdezési paraméterekként hozzáadja a törzset az URI-hoz. Más kéréstípusok (például PATCH) esetén a törzs a kérés törzsének értékeként van beállítva szabványos name=value formátumban, URL-kódolt értékekkel.

Ha a bemenet System.Xml.XmlNode objektum, és az XML-deklaráció megad egy kódolást, a rendszer a kérelemben szereplő adatok kódolását használja, kivéve, ha a ContentType paraméter felülírja.

Ha a törzs egy űrlap, vagy egy másik Invoke-WebRequest hívás kimenete, a PowerShell a kérelem tartalmát az űrlapmezőkre állítja.

A Törzs paraméter egy System.Net.Http.MultipartFormDataContent objektumot is elfogadhat. Ez megkönnyíti multipart/form-data a kéréseket. Ha egy TöbbpartFormDataContent objektumot ad meg a Törzshöz, az objektum tartalomfejlécei felülbírálják a ContentType, fejlécek vagy WebSession paramétereknek megadott tartalommal kapcsolatos fejléceketMultipartFormDataContent. Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:Object
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-Certificate

Megadja a biztonságos webkérelemhez használt ügyféltanúsítványt. Adjon meg egy változót, amely a tanúsítványt lekérő tanúsítványt vagy parancsot vagy kifejezést tartalmazza.

Tanúsítvány kereséséhez használja Get-PfxCertificate vagy használja a Get-ChildItem tanúsítvány (Cert:) meghajtón található parancsmagot. Ha a tanúsítvány érvénytelen, vagy nem rendelkezik megfelelő jogosultságtal, a parancs meghiúsul.

Típus:X509Certificate
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-CertificateThumbprint

Egy olyan felhasználói fiók digitális nyilvános kulcsú tanúsítványát (X509) adja meg, amely jogosult a kérés elküldésére. Adja meg a tanúsítvány ujjlenyomatát.

A tanúsítványok az ügyféltanúsítvány-alapú hitelesítésben használatosak. A tanúsítványok csak helyi felhasználói fiókokhoz rendelhetők le, tartományi fiókokhoz nem.

A tanúsítvány ujjlenyomatának megtekintéséhez használja a vagy Get-ChildItem a Get-Item parancsot a tanúsítvány Cert:\CurrentUser\Mymegkereséséhez.

Feljegyzés

Ez a funkció jelenleg csak Windows operációsrendszer-platformokon támogatott.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ConnectionTimeoutSeconds

Megadja, hogy mennyi ideig lehet függőben a kérelem, mielőtt túllépi az időkorlátot. Adjon meg egy értéket másodpercek alatt. Az alapértelmezett érték (0) meghatározatlan időtúllépést ad meg.

A dns-lekérdezések visszatérése vagy időtúllépése akár 15 másodpercet is igénybe vehet. Ha a kérés tartalmaz egy feloldást igénylő gazdagépnevet, és a ConnectionTimeoutSeconds értéket nullánál nagyobb, de 15 másodpercnél rövidebb értékre állítja, az 15 másodpercet vagy többet is igénybe vehet a WebException elvetése előtt, és a kérés túllépi az időkorlátot.

Ez a paraméter lecserélte a TimeoutSec paramétert a PowerShell 7.4-ben. A TimeoutSec a ConnectionTimeoutSeconds aliasaként is használható.

Típus:Int32
Aliasok:TimeoutSec
Position:Named
Alapértelmezett érték:0
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ContentType

Megadja a webes kérelem tartalomtípusát.

Ha a ContentType értéke tartalmazza a kódolási formátumot (mint), charseta parancsmag ezt a formátumot használja a webes kérelem törzsének kódolásához. Ha a ContentType nem ad meg kódolási formátumot, a rendszer ehelyett az alapértelmezett kódolási formátumot használja. Példa egy kódolási formátummal text/plain; charset=iso-8859-5rendelkező ContentType-ra, amely a latin/cirill betűs ábécét adja meg.

Ha ez a paraméter nincs megadva, és a kérelem metódusa POST, Invoke-RestMethod a tartalomtípust a következőre application/x-www-form-urlencodedállítja: . Ellenkező esetben a tartalomtípus nincs megadva a hívásban.

A ContentType felül lesz bírálva, ha egy MultipartFormDataContent objektumot ad meg a törzs számára.

A PowerShell 7.4-től kezdődően, ha ezt a paramétert és a Fejlécek paramétert is használja a Content-Type fejléc definiálásához, a ContentType paraméterben megadott érték lesz használva.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Credential

Olyan felhasználói fiókot ad meg, amely rendelkezik a kérés elküldéséhez szükséges engedéllyel. Alapértelmezés szerint az aktuális felhasználó.

Írjon be egy felhasználónevet (például User01 vagy Domain01\User01), vagy írjon be egy PSCredential objektumot, amelyet a Get-Credential parancsmag hoz létre.

A hitelesítő adatok önállóan vagy bizonyos hitelesítési paraméterekkel együtt használhatók. Ha egyedül használja, csak akkor adja meg a hitelesítő adatokat a távoli kiszolgálónak, ha a távoli kiszolgáló hitelesítési kérést küld. Ha hitelesítési beállításokat használ, a rendszer explicit módon küldi el a hitelesítő adatokat.

A hitelesítő adatokat PSCredential objektum tárolja, a jelszót pedig SecureStringként tárolja a rendszer.

Feljegyzés

További információ a SecureString adatvédelemről: Mennyire biztonságos a SecureString?.

Típus:PSCredential
Position:Named
Alapértelmezett érték:Current user
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-CustomMethod

A webes kérelemhez használt egyéni metódust adja meg. Ez a végpont által igényelt kérelemmetódussal használható, amely nem érhető el a metódusban. A Metódus és a CustomMethod nem használható együtt.

Példa:

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

Ez HTTP-kérést TEST küld az API-nak.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:String
Aliasok:CM
Position:Named
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-DisableKeepAlive

Azt jelzi, hogy a parancsmag hamis értékre állítja a HTTP-fejlécBen lévő KeepAlive értéket. Alapértelmezés szerint a KeepAlive igaz. A KeepAlive állandó kapcsolatot létesít a kiszolgálóval a későbbi kérések megkönnyítése érdekében.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Azt jelzi, hogy a parancsmagnak relációs hivatkozásokat kell követnie.

Egyes REST API-k RFC5988 relációs hivatkozásokon keresztül támogatják a lapozást. Ahelyett, hogy elemezte volna a fejlécet a következő oldal URL-címének lekéréséhez, a parancsmag ezt elvégezheti Ön helyett. A relációs hivatkozások követésének hányszoros beállításához használja a MaximumFollowRelLink paramétert.

A kapcsoló használatakor a parancsmag eredményoldalak gyűjteményét adja vissza. Az eredmények oldalai több találatelemet is tartalmazhatnak.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:SwitchParameter
Aliasok:FL
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Form

A szótárt beküldéssé multipart/form-data alakítja át. Az űrlap nem használható a Body alkalmazással. Ha a ContentType nem lesz figyelmen kívül hagyva.

A rendszer a szótár kulcsait használja az űrlapmezők neveként. Alapértelmezés szerint az űrlapértékek sztringértékekké lesznek konvertálva.

Ha az érték System.IO.FileInfo objektum, akkor a bináris fájl tartalma el lesz küldve. A fájl neve a következő lesz filename: . A MIME a következő lesz: application/octet-stream. Get-Itema System.IO.FileInfo objektum biztosításának egyszerűsítésére használható.

$Form = @{ önéletrajz = Get-Item 'c:\Users\jdoe\Documents\John Doe.pdf' }

Ha az érték gyűjteménytípus, például tömb vagy lista, a program többször is elküldi a mező értékét. A lista értékei alapértelmezés szerint sztringekként lesznek kezelve. Ha az érték System.IO.FileInfo objektum, akkor a bináris fájl tartalma el lesz küldve. A beágyazott gyűjtemények nem támogatottak.

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

A fenti példában a tags mező háromszor lesz megadva az űrlapon, egyszer az egyes Vacation, Italyés 2017. A pictures mező a mappában lévő összes fájlhoz egyszer is el lesz küldve 2017-Italy . A mappában lévő fájlok bináris tartalma lesz elküldve értékekként.

Ez a funkció a PowerShell 6.1.0-s verzióban lett hozzáadva.

Típus:IDictionary
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Headers

Megadja a webes kérelem fejléceit. Adjon meg egy kivonattáblát vagy szótárt.

A tartalommal kapcsolatos fejlécek, például Content-Type felül vannak bírálva, amikor egy MultipartFormDataContent objektumot ad meg a Törzs számára.

A PowerShell 7.4-től kezdve, ha ezt a paramétert használja a Content-Type fejléc definiálásához és a ContentType paraméter használatához, a Rendszer a ContentType paraméterben megadott értéket használja.

Típus:IDictionary
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-HttpVersion

A kérelemhez használt HTTP-verziót adja meg. Az alapértelmezett érték 1.1.

Az érvényes értékek a következők:

  • 1.0
  • 1,1
  • 2,0
  • 3,0
Típus:Version
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-InFile

Lekéri a webes kérelem tartalmát egy fájlból.

Adjon meg egy elérési utat és egy fájlnevet. Ha kihagyja az elérési utat, az alapértelmezett hely az aktuális hely.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Megadja, hogy hányszor kövesse a relációs hivatkozásokat a FollowRelLink használata esetén. Kisebb értékre lehet szükség, ha a REST API túl sok kérés miatt szabályoz. Az alapértelmezett érték [Int32]::MaxValue. A 0 (nulla) érték megakadályozza a relációs hivatkozások követését.

Típus:Int32
Aliasok:ML
Position:Named
Alapértelmezett érték:Int32.MaxValue
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-MaximumRedirection

Megadja, hogy a PowerShell hányszor irányítja át a kapcsolatot egy másodlagos egységes erőforrás-azonosítóhoz (URI), mielőtt a kapcsolat meghiúsul. Az alapértelmezett érték 5. A 0 (nulla) érték megakadályozza az összes átirányítást.

Típus:Int32
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-MaximumRetryCount

Megadja, hogy a PowerShell hányszor próbálkozik újra egy kapcsolattal, ha 400 és 599 közötti hibakód érkezik, beleértve vagy 304-et. Lásd még a RetryIntervalSec paramétert az újrapróbálkozási időköz megadásához.

Típus:Int32
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Method

A webes kérelemhez használt metódust adja meg. A paraméter elfogadható értékei a következők:

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

A CustomMethod paraméter a fent nem felsorolt kérelemmetódusokhoz használható.

Típus:WebRequestMethod
Elfogadott értékek:Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-NoProxy

Azt jelzi, hogy a parancsmag nem használ proxyt a cél eléréséhez.

Ha meg kell kerülnie az Internet Explorerben konfigurált proxyt vagy a környezetben megadott proxyt, használja ezt a kapcsolót.

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:True
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-OperationTimeoutSeconds

Ez az időtúllépés a streamen belüli adatolvasásokra vonatkozik, nem pedig a stream teljes idejére. Az alapértelmezett érték (0) meghatározatlan időtúllépést ad meg.

Az érték 30 másodpercre állítása azt jelenti, hogy a streamben lévő adatok közötti 30 másodpercnél hosszabb késleltetés megszakítja a kérést. A letöltéshez több percig tartó nagy fájl csak akkor fejeződik be, ha a stream 30 másodpercnél hosszabb ideig nem áll le.

Típus:Int32
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-OutFile

Alapértelmezés szerint Invoke-RestMethod visszaadja az eredményeket a folyamatnak. Az OutFile paraméter használatakor a rendszer menti az eredményeket a megadott fájlba, és nem adja vissza a folyamatnak. Adjon meg egy elérési utat és egy fájlnevet. Ha el szeretné küldeni az eredményeket egy fájlba és a folyamatba, adja hozzá a PassThru paramétert.

Ha kihagyja az elérési utat, az alapértelmezett hely az aktuális hely. A név konstans elérési útként lesz kezelve. A szögletes zárójeleket ([]) tartalmazó neveket egyetlen idézőjelbe (') kell befoglalni.

A PowerShell 7.4-től kezdve megadhatja a mappa elérési útját a fájlnév nélkül. Ha így tesz, a parancs a feloldott URI utolsó szegmensének fájlnevét használja az átirányítások után. Amikor megadja az OutFile mappa elérési útját, nem használhatja az Önéletrajz paramétert.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-PassThru

Ez a paraméter csak akkor érvényes, ha az OutFile paramétert is használja a parancsban. A szándék az, hogy az eredményeket a fájlba és a folyamatba írja.

Feljegyzés

A PassThru paraméter használatakor a kimenet a folyamatba lesz írva, de a fájl nem jön létre. Ezt a PowerShell 7.5-preview.4-ben javítottuk. További információ: PowerShell-probléma #15409.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:No output
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-PreserveAuthorizationOnRedirect

Azt jelzi, hogy a parancsmagnak jelen esetben meg kell őriznie a Authorization fejlécet az átirányítások között.

Alapértelmezés szerint a parancsmag az átirányítás előtt csíkozza a Authorization fejlécet. A paraméter megadása letiltja ezt a logikát azokban az esetekben, amikor a fejlécet el kell küldeni az átirányítási helyre.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-PreserveHttpMethodOnRedirect

Azt jelzi, hogy a parancsmagnak meg kell őriznie a kérés metódusát az átirányítások között.

A parancsmag alapértelmezés szerint az átirányításkor módosítja a GET metódust. A paraméter megadása letiltja ezt a logikát, így biztosítható, hogy a kívánt metódus átirányítással is használható legyen.

Ez a funkció a PowerShell 7.4-ben lett hozzáadva.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Proxy

Proxykiszolgálót használ a kéréshez, ahelyett, hogy közvetlenül csatlakozik az internetes erőforráshoz. Adja meg egy hálózati proxykiszolgáló egységes erőforrás-azonosítóját (URI).

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:Uri
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ProxyCredential

Olyan felhasználói fiókot ad meg, amely jogosult a proxyparaméter által megadott proxykiszolgáló használatára. Alapértelmezés szerint az aktuális felhasználó.

Írjon be egy felhasználónevet (például User01 vagy Domain01\User01), User@Domain.Comvagy írjon be egy PSCredential objektumot, például a parancsmag által Get-Credential létrehozottat.

Ez a paraméter csak akkor érvényes, ha a proxyparamétert a parancsban is használja. Ugyanabban a parancsban nem használhatja a ProxyCredential és a ProxyUseDefaultCredentials paramétereket.

Típus:PSCredential
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ProxyUseDefaultCredentials

Azt jelzi, hogy a parancsmag az aktuális felhasználó hitelesítő adatait használja a proxyparaméter által megadott proxykiszolgáló eléréséhez.

Ez a paraméter csak akkor érvényes, ha a proxyparamétert a parancsban is használja. Ugyanabban a parancsban nem használhatja a ProxyCredential és a ProxyUseDefaultCredentials paramétereket.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ResponseHeadersVariable

Létrehoz egy válaszfejlécszótárat tartalmazó változót. Adjon meg egy változónevet a dollárjel ($) szimbólum nélkül. A szótár kulcsai tartalmazzák a webkiszolgáló által visszaadott válaszfejléc mezőnevét és értékeit.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:String
Aliasok:RHV
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Resume

Minden tőle telhetőt megtesz egy részleges fájl letöltésének folytatására. Az Önéletrajz paraméterhez az OutFile paraméter szükséges.

Az önéletrajz csak a helyi fájl és a távoli fájl méretén működik, és nem végez más ellenőrzést arról, hogy a helyi fájl és a távoli fájl megegyezik-e.

Ha a helyi fájlméret kisebb, mint a távoli fájlméret, akkor a parancsmag megpróbálja folytatni a fájl letöltését, és hozzáfűzi a fennmaradó bájtokat a fájl végéhez.

Ha a helyi fájlméret megegyezik a távoli fájlméretével, akkor nem történik művelet, és a parancsmag feltételezi, hogy a letöltés már befejeződött.

Ha a helyi fájl mérete nagyobb, mint a távoli fájlméret, akkor a rendszer felülírja a helyi fájlt, és a teljes távoli fájl teljesen újra letöltődik. Ez a viselkedés ugyanaz, mint a Folytatás nélküli OutFile használata.

Ha a távoli kiszolgáló nem támogatja a letöltés folytatását, akkor a rendszer felülírja a helyi fájlt, és a teljes távoli fájlt teljesen újra letölti. Ez a viselkedés ugyanaz, mint a Folytatás nélküli OutFile használata.

Ha a helyi fájl nem létezik, akkor a helyi fájl létrejön, és a teljes távoli fájl teljesen le lesz töltve. Ez a viselkedés ugyanaz, mint a Folytatás nélküli OutFile használata.

Ez a funkció a PowerShell 6.1.0-s verzióban lett hozzáadva.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-RetryIntervalSec

Megadja a kapcsolat újrapróbálkozásai közötti időközt, ha 400 és 599 közötti hibakód érkezik, beleértve vagy 304-et. Az értéknek az és a [int]::MaxValueközötti 1 értéknek kell lennie. Ha a hibakód 429, és a válasz tartalmazza az Újrapróbálkozó tulajdonságot a fejléceiben, a parancsmag ezt az értéket használja az újrapróbálkozási időközhöz, még akkor is, ha ez a paraméter meg van adva.

Az újrapróbálkozások számának megadásához tekintse meg a MaximumRetryCount paramétert is.

Típus:Int32
Position:Named
Alapértelmezett érték:5
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-SessionVariable

Létrehoz egy változót, amely tartalmazza a webes kérelem munkamenetét. Adjon meg egy változónevet a dollárjel ($) szimbólum nélkül.

Amikor megad egy munkamenet-változót, létrehoz egy webkérelem munkamenet-objektumot, Invoke-RestMethod és hozzárendeli azt egy, a PowerShell-munkamenetben megadott névvel rendelkező változóhoz. A változót a parancs befejeződése után használhatja a munkamenetben.

A PowerShell 7.4 előtt a webes kérelem munkamenete nem állandó kapcsolat. Ez egy objektum, amely információkat tartalmaz a kapcsolatról és a kérésről, beleértve a cookie-kat, a hitelesítő adatokat, a maximális átirányítási értéket és a felhasználói ügynök sztringjét. Ezzel megoszthatja az állapotot és az adatokat a webes kérések között.

A PowerShell 7.4-től kezdve a webes kérelem munkamenete állandó, amíg a munkamenet tulajdonságait nem bírálja felül egy későbbi kérés. Ha így van, a parancsmag újra létrehozza a munkamenetet az új értékekkel. Az állandó munkamenetek csökkentik az ismétlődő kérések többletterhelését, így sokkal gyorsabbak lesznek.

A webkérelem-munkamenet későbbi webes kérelmekben való használatához adja meg a munkamenet változóját a WebSession paraméter értékében. A PowerShell a webkérelem munkamenet-objektumában lévő adatokat használja az új kapcsolat létrehozásakor. Ha felül szeretne bírálni egy értéket a webes kérelem munkamenetében, használjon egy parancsmagparamétert, például UserAgent vagy Credential. A paraméterértékek elsőbbséget élveznek a webes kérelem munkamenetében lévő értékekkel szemben.

Ugyanabban a parancsban nem használhatja a SessionVariable és a WebSession paramétereket.

Típus:String
Aliasok:SV
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-SkipCertificateCheck

Kihagyja a tanúsítványérvényesítési ellenőrzéseket, amelyek tartalmazzák az összes érvényesítést, például a lejáratot, a visszavonást, a megbízható legfelső szintű hitelesítésszolgáltatót stb.

Figyelmeztetés

A paraméter használata nem biztonságos, ezért nem ajánlott. Ez a kapcsoló csak az ismert gazdagépek ellen használható, tesztelés céljából önaláírt tanúsítvány használatával. Saját felelősségre használható.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-SkipHeaderValidation

Azt jelzi, hogy a parancsmagnak érvényesítés nélkül kell fejléceket hozzáadnia a kérelemhez.

Ezt a kapcsolót olyan webhelyekhez kell használni, amelyek olyan fejlécértékeket igényelnek, amelyek nem felelnek meg a szabványoknak. A kapcsoló megadása letiltja az érvényesítést, hogy az érték ne legyen bejelölve. Ha meg van adva, a rendszer minden fejlécet érvényesítés nélkül ad hozzá.

Ez letiltja a ContentType, a Fejlécek és a UserAgent paramétereknek átadott értékek érvényesítését.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-SkipHttpErrorCheck

Ez a paraméter miatt a parancsmag figyelmen kívül hagyja a HTTP-hibaállapotokat, és folytatja a válaszok feldolgozását. A hibaválaszok ugyanúgy lesznek megírva a folyamatba, mintha sikeresek lennének.

Ez a paraméter a PowerShell 7-ben lett bevezetve.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-SslProtocol

Beállítja a webes kéréshez megengedett SSL-/TLS-protokollokat. Alapértelmezés szerint a rendszer által támogatott SSL-/TLS-protokollok engedélyezettek. Az SslProtocol lehetővé teszi bizonyos protokollokra való korlátozást megfelelőségi célokból.

Ezek az értékek jelölőalapú számbavételként vannak definiálva. Több érték kombinálásával több jelölőt is beállíthat ezzel a paraméterrel. Az értékek átadhatók az SslProtocol paraméternek értéktömbként vagy az értékek vesszővel elválasztott sztringjeként. A parancsmag bináris VAGY művelettel egyesíti az értékeket. Az értékek tömbként való átadása a legegyszerűbb lehetőség, és lehetővé teszi a tabulátorkiegészítés használatát is az értékeken. Előfordulhat, hogy nem tud több értéket megadni minden platformon.

Feljegyzés

Nem Windows-platformokon előfordulhat, hogy nem lehet megadni Tls vagy Tls12 lehetőségként. Tls13 A támogatás nem minden operációs rendszeren érhető el, és operációs rendszerenként kell ellenőrizni.

Ez a funkció a PowerShell 6.0.0-s verzióban lett hozzáadva, és a Tls13 Támogatás a PowerShell 7.1-ben lett hozzáadva.

Típus:WebSslProtocol
Elfogadott értékek:Default, Tls, Tls11, Tls12, Tls13
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-StatusCodeVariable

Létrehoz egy változót, amely a kérelem HTTP-állapotkódjának eredményét tartalmazza. Adjon meg egy változónevet a dollárjel ($) szimbólum nélkül.

A paraméter képes azonosítani a sikeres üzeneteket vagy a sikertelen üzeneteket a SkipHttpErrorCheck paraméterrel való használatkor.

Adja meg a paraméter változónevét sztringként, például -StatusCodeVariable "scv".

Ez a paraméter a PowerShell 7-ben lett bevezetve.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Token

A kérelembe belefoglalandó OAuth vagy Bearer jogkivonat. A jogkivonatot bizonyos hitelesítési beállítások megkövetelik. Önállóan nem használható.

A token a jogkivonatot SecureString tartalmazó jogkivonatot veszi fel. A jogkivonat megadásához manuálisan használja a következőt:

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

Ezt a paramétert a PowerShell 6.0-ban vezettük be.

Típus:SecureString
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-TransferEncoding

Megadja az átvitelkódoló HTTP-válaszfejléc értékét. A paraméter elfogadható értékei a következők:

  • Adattömb
  • Összenyom
  • Csökkent
  • GZip
  • Identitás
Típus:String
Elfogadott értékek:chunked, compress, deflate, gzip, identity
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-UnixSocket

Megadja annak a Unix-szoftvercsatornának a nevét, amelyhez csatlakozni szeretne. Ez a paraméter a Unix-alapú rendszereken és a Windows 1803-es és újabb verzióiban támogatott. További információ a Unix-szoftvercsatornák Windows-támogatásáról: Windows/WSL Interop with AF_UNIX blogbejegyzés.

Ez a paraméter a PowerShell 7.4-ben lett hozzáadva.

Típus:UnixDomainSocketEndPoint
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Uri

Annak az internetes erőforrásnak az egységes erőforrás-azonosítóját (URI) adja meg, amelyre a webes kérést küldi. Ez a paraméter támogatja a HTTP, HTTPS, FTP és FILE értékeket.

Ez a paraméter kötelező. A paraméter neve (Uri) megadása nem kötelező.

Típus:Uri
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-UseBasicParsing

Ez a paraméter elavult. A PowerShell 6.0.0-tól kezdve minden webes kérés csak alapszintű elemzést használ. Ez a paraméter csak a visszamenőleges kompatibilitás érdekében érhető el, és annak bármilyen használata nem befolyásolja a parancsmag működését.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-UseDefaultCredentials

Azt jelzi, hogy a parancsmag az aktuális felhasználó hitelesítő adatait használja a webes kérés elküldéséhez. Ez nem használható hitelesítéssel vagy hitelesítő adatokkal, és nem minden platformon támogatott.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-UserAgent

Megadja a webkérelemhez tartozó felhasználói ügynök sztringet.

Az alapértelmezett felhasználói ügynök az egyes operációs rendszerekre és platformokra vonatkozó enyhe változatokhoz hasonló Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0 .

A legtöbb internetböngésző által használt szabványos felhasználói ügynök sztringgel rendelkező webhely teszteléséhez használja a PSUserAgent osztály tulajdonságait, például a Chrome, a FireFox, az InternetExplorer, az Opera és a Safari tulajdonságait.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-WebSession

Webkérelem-munkamenetet határoz meg. Adja meg a változó nevét, beleértve a dollárjelet ($).

Ha felül szeretne bírálni egy értéket a webes kérelem munkamenetében, használjon egy parancsmagparamétert, például UserAgent vagy Credential. A paraméterértékek elsőbbséget élveznek a webes kérelem munkamenetében lévő értékekkel szemben. A tartalommal kapcsolatos fejléceket, például Content-Typea többpartFormDataContent objektum törzshöz való megadásakor is felülbíráljuk.

A távoli munkamenettől eltérően a webes kérelem munkamenete nem állandó kapcsolat. Ez egy objektum, amely információkat tartalmaz a kapcsolatról és a kérésről, beleértve a cookie-kat, a hitelesítő adatokat, a maximális átirányítási értéket és a felhasználói ügynök sztringjét. Ezzel megoszthatja az állapotot és az adatokat a webes kérések között.

Webkérelem-munkamenet létrehozásához adjon meg egy változónevet dollárjel nélkül egy parancs SessionVariable paraméterének értékébeInvoke-RestMethod. Invoke-RestMethod létrehozza a munkamenetet, és menti a változóba. A következő parancsokban használja a változót a WebSession paraméter értékeként.

Ugyanabban a parancsban nem használhatja a SessionVariable és a WebSession paramétereket.

Típus:WebRequestSession
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

Bevitelek

Object

Erre a parancsmagra egy webes kérés törzsét is becsúszthatja.

Kimenetek

Int64

Amikor a kérelem egész számot ad vissza, ez a parancsmag visszaadja az egész számot.

String

Amikor a kérés egy sztringet ad vissza, ez a parancsmag visszaadja ezt a sztringet.

XmlDocument

Amikor a kérelem érvényes XML-t ad vissza, ez a parancsmag XmlDocumentként adja vissza.

PSObject

Amikor a kérelem JSON-sztringeket ad vissza, ez a parancsmag egy , az adatokat képviselő PSObject értéket ad vissza.

Jegyzetek

A PowerShell a következő aliasokat Invoke-RestMethodtartalmazza:

  • Minden platform:
    • irm

Előfordulhat, hogy egyes funkciók nem minden platformon érhetők el.

A .NET Core 3.1 változásai miatt a PowerShell 7.0-s és újabb verziói a HttpClient.DefaultProxy tulajdonsággal határozzák meg a proxykonfigurációt.

Ennek a tulajdonságnak az értéke a platformtól függően eltérő szabályok:

  • Windows esetén: Beolvassa a proxykonfigurációt a környezeti változókból, vagy ha ezek nincsenek definiálva, a felhasználó proxybeállításaiból.
  • MacOS esetén: Beolvassa a proxykonfigurációt a környezeti változókból, vagy ha ezek nincsenek meghatározva, a rendszer proxybeállításaiból.
  • Linux esetén: Beolvassa a proxykonfigurációt a környezeti változókból, vagy ha ezek nincsenek definiálva, ez a tulajdonság inicializál egy nem konfigurált példányt, amely minden címet átad.

A Windows- és Unix-alapú platformokon az inicializáláshoz DefaultProxy használt környezeti változók a következők:

  • HTTP_PROXY: a HTTP-kérelmekben használt proxykiszolgáló állomásneve vagy IP-címe.
  • HTTPS_PROXY: a HTTPS-kérelmekben használt proxykiszolgáló állomásneve vagy IP-címe.
  • ALL_PROXY: a HTTP- és HTTPS-kérelmekben használt proxykiszolgáló állomásneve vagy HTTPS_PROXY IP-címe, ha HTTP_PROXY nincs meghatározva.
  • NO_PROXY: a proxyzásból kizárandó gazdagépnevek vesszővel tagolt listája.

A PowerShell 7.4 támogatja a Brotli tömörítési algoritmust.