Bagikan melalui


Invoke-RestMethod

Mengirim permintaan HTTP atau HTTPS ke layanan web RESTful.

Sintaks

StandardMethod (Default)

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

StandardMethodNoProxy

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

CustomMethod

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

CustomMethodNoProxy

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

Deskripsi

Cmdlet Invoke-RestMethod mengirim permintaan HTTP dan HTTPS ke layanan web Representational State Transfer (REST) yang mengembalikan data yang terstruktur secara kaya.

PowerShell memformat respons berdasarkan jenis data. Untuk umpan RSS atau ATOM, PowerShell mengembalikan node Item atau Entri XML. Untuk JavaScript Object Notation (JSON) atau XML, PowerShell mengonversi, atau mendeserialisasi, konten menjadi objek [pscustomobject]. Komentar diizinkan dalam data JSON.

Nota

Saat titik akhir REST mengembalikan beberapa objek, objek diterima sebagai array. Jika Anda menyalurkan output dari Invoke-RestMethod ke perintah lain, output dikirim sebagai objek [Object[]] tunggal. Isi dari array tersebut tidak dijabarkan untuk perintah selanjutnya di pipeline.

Cmdlet ini diperkenalkan di Windows PowerShell 3.0.

Dimulai di PowerShell 7.0, Invoke-RestMethod mendukung konfigurasi proksi yang ditentukan oleh variabel lingkungan. Lihat bagian CATATAN di artikel ini.

Mulai dari PowerShell 7.4, pengodean karakter untuk permintaan defaultnya adalah UTF-8 alih-alih ASCII. Jika Anda memerlukan pengodean yang berbeda, Anda harus mengatur atribut charset di header Content-Type.

Contoh

Contoh 1: Dapatkan umpan PowerShell RSS

Contoh ini menggunakan cmdlet Invoke-RestMethod untuk mendapatkan informasi dari umpan RSS Blog PowerShell. Perintah menggunakan cmdlet Format-Table untuk menampilkan nilai properti Judul dan pubDate dari setiap blog dalam sebuah tabel.

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

Contoh 2: Jalankan permintaan POST

Dalam contoh ini, pengguna menjalankan Invoke-RestMethod untuk melakukan permintaan POST di situs web intranet di organisasi pengguna.

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

Cmdlet tersebut meminta kredensial dan menyimpannya di $Cred. $Url berisi URL titik akhir REST.

Variabel $Body menjelaskan kriteria pencarian, menentukan CSV sebagai mode output, dan menentukan periode waktu untuk data yang dikembalikan yang dimulai dua hari yang lalu dan berakhir satu hari yang lalu. Variabel isi menentukan nilai untuk parameter yang berlaku untuk REST API tertentu yang Invoke-RestMethod berkomunikasi.

Perintah Invoke-RestMethod dijalankan dengan semua variabel di tempat, menentukan jalur dan nama file untuk file output CSV yang dihasilkan.

Contoh 3: Mengikuti tautan hubungan

Beberapa REST API mendukung paginasi melalui Link Relasi per RFC5988. Alih-alih mengurai header untuk mendapatkan URL untuk halaman berikutnya, Anda dapat meminta cmdlet melakukan ini untuk Anda. Contoh ini mengembalikan dua halaman pertama masalah dari repositori PowerShell GitHub.

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

Contoh 4: Pengiriman Multipart/Form-Data yang Disederhanakan

Beberapa API memerlukan pengiriman multipart/form-data untuk mengunggah file dan konten campuran. Contoh ini menunjukkan cara memperbarui profil pengguna.

$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

Formulir profil memerlukan bidang-bidang ini: firstName, lastName, email, avatar, birthday, dan hobbies. API mengharapkan gambar untuk foto profil pengguna disediakan di kolom avatar. API juga menerima beberapa entri hobbies untuk dikirimkan dalam formulir yang sama.

Saat membuat $Form HashTable, nama kunci digunakan sebagai nama bidang formulir. Secara default, nilai HashTable dikonversi menjadi string. Jika ada nilai System.IO.FileInfo, konten file akan dikirimkan. Jika terdapat koleksi, seperti array atau daftar, kolom formulir akan dikirimkan beberapa kali.

Dengan menggunakan Get-Item pada kunci avatar, objek FileInfo diatur sebagai nilai . Hasilnya adalah bahwa data gambar untuk jdoe.png dikirimkan.

Dengan menyediakan daftar ke kunci hobbies, bidang hobbies akan muncul dalam setiap pengiriman untuk tiap item dalam daftar.

Contoh 5: Meneruskan beberapa header

API sering memerlukan header yang diteruskan untuk autentikasi atau validasi. Contoh ini menunjukkan, cara meneruskan beberapa header dari hash-table ke REST API.

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

Contoh 6: Menghitung item yang dikembalikan pada alur

GitHub mengembalikan beberapa objek sebagai sebuah array. Jika Anda menyalurkan output ke perintah lain, output dikirim sebagai objek [Object[]]tunggal.

Untuk melakukan enumerasi objek ke dalam saluran, arahkan hasilnya ke Write-Output atau bungkus cmdlet dalam tanda kurung. Contoh berikut menghitung jumlah objek yang dikembalikan oleh GitHub. Kemudian menghitung jumlah objek yang didaftarkan ke dalam alur.

$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

Contoh 7: Melewati Validasi Header

Secara default, cmdlet Invoke-RestMethod memvalidasi nilai header terkenal yang memiliki format nilai yang ditentukan standar. Contoh berikut menunjukkan bagaimana validasi ini dapat menimbulkan kesalahan dan bagaimana Anda dapat menggunakan parameter SkipHeaderValidation untuk menghindari validasi nilai untuk titik akhir yang mentolerir nilai yang diformat secara tidak valid.

$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 adalah layanan yang mengembalikan informasi tentang permintaan web dan respons untuk pemecahan masalah. Variabel $Uri ditetapkan ke titik akhir /headers layanan, yang mengembalikan header permintaan sebagai konten dalam responsnya.

Header permintaan If-Match didefinisikan dalam RFC-7232 bagian 3.1 dan memerlukan nilai header tersebut didefinisikan dengan tanda kutip di sekitarnya. Variabel $InvalidHeaders diberi tabel hash di mana nilai If-Match tidak valid karena didefinisikan sebagai 12345 alih-alih "12345".

Memanggil Invoke-RestMethod dengan header yang tidak valid mengembalikan pelaporan kesalahan bahwa nilai yang diformat tidak valid. Permintaan tidak dikirim ke titik akhir.

Memanggil Invoke-RestMethod dengan parameter SkipHeaderValidation melewatkan kegagalan validasi dan mengirim permintaan ke server tujuan. Karena titik akhir mentolerir nilai header yang tidak sesuai, cmdlet mengembalikan objek respons tanpa kesalahan.

Contoh 8: Mengirim permintaan menggunakan HTTP 2.0

Contoh ini mengecek isu GitHub menggunakan protokol HTTP 2.0.

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

Contoh 9: Mengirim permintaan ke aplikasi soket Unix

Beberapa aplikasi, seperti Docker, mengekspos soket Unix untuk komunikasi. Contoh ini mengkueri daftar gambar Docker menggunakan Docker API. Cmdlet terhubung ke daemon Docker menggunakan soket Unix.

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

Parameter

-AllowInsecureRedirect

Memungkinkan pengalihan dari HTTPS ke HTTP. Secara default, permintaan apa pun yang dialihkan dari HTTPS ke HTTP menghasilkan kesalahan dan permintaan dibatalkan untuk mencegah komunikasi yang tidak sengaja dalam teks biasa melalui koneksi yang tidak terenkripsi. Untuk mengambil alih perilaku ini dengan risiko Anda sendiri, gunakan parameter AllowInsecureRedirect.

Parameter ini ditambahkan di PowerShell 7.4.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-AllowUnencryptedAuthentication

Memungkinkan pengiriman kredensial dan rahasia melalui koneksi yang tidak terenkripsi. Secara default, menyediakan Kredensial atau opsi Autentikasi dengan Uri yang tidak dimulai dengan https:// mengakibatkan kesalahan dan permintaan dibatalkan untuk mencegah berkomunikasi rahasia secara tidak sengaja dalam teks biasa melalui koneksi yang tidak terenkripsi. Untuk mengambil alih perilaku ini dengan risiko Anda sendiri, berikan parameter AllowUnencryptedAuthentication.

Peringatan

Menggunakan parameter ini tidak aman dan tidak disarankan. Ini disediakan hanya untuk kompatibilitas dengan sistem warisan yang tidak dapat menyediakan koneksi terenkripsi. Gunakan dengan risiko Anda sendiri.

Fitur ini ditambahkan di PowerShell 6.0.0.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Authentication

Menentukan jenis autentikasi eksplisit yang akan digunakan untuk permintaan. Default Tidak Ada. Parameter Autentikasi tidak dapat digunakan dengan parameter UseDefaultCredentials.

Opsi Autentikasi yang Tersedia:

  • None: Ini adalah opsi default saat Autentikasi tidak disediakan. Tidak ada autentikasi eksplisit yang digunakan.
  • Basic: Memerlukan Kredensial. Kredensial digunakan untuk mengirim header Autentikasi Dasar RFC 7617 Authorization: Basic dalam format base64(user:password).
  • Bearer: Memerlukan Token parameter. Mengirim header RFC 6750 Authorization: Bearer dengan token yang disediakan.
  • OAuth: Memerlukan Token parameter. Mengirim header RFC 6750 Authorization: Bearer dengan token yang disediakan.

Menyediakan Autentikasi mengambil alih header Authorization yang disediakan untuk Header atau disertakan dalam WebSession.

Fitur ini ditambahkan di PowerShell 6.0.0.

Properti parameter

Jenis:WebAuthenticationType
Nilai default:None
Nilai yang diterima:None, Basic, Bearer, OAuth
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Body

Menentukan isi permintaan. Isi adalah konten permintaan yang mengikuti header. Anda juga dapat mengalirkan nilai isi ke Invoke-RestMethod.

Parameter Isi dapat digunakan untuk menentukan daftar parameter kueri atau menentukan konten permintaan. Untuk parameter kueri, cmdlet menggunakan metode System.Net.WebUtility.UrlEncode untuk mengenkode pasangan kunci-nilai. Untuk informasi selengkapnya tentang pengodean string untuk URL, lihat referensi metode UrlEncode().

Ketika input adalah permintaan POST dan isinya adalah string , nilai di sebelah kiri tanda sama dengan pertama (=) diatur sebagai kunci dalam data formulir dan teks yang tersisa ditetapkan sebagai nilai. Untuk menentukan beberapa kunci, gunakan objek IDictionary, seperti hash table, untuk Badan.

Ketika input adalah permintaan GET dan isinya adalah IDictionary (biasanya, tabel hash), isi ditambahkan ke URI sebagai parameter kueri. Untuk jenis permintaan lain (seperti PATCH), isi diatur sebagai nilai isi permintaan dalam format name=value standar dengan nilai yang dikodekan URL.

Ketika input adalah objek System.Xml.XmlNode dan deklarasi XML menentukan pengodean, pengodean tersebut digunakan untuk data dalam permintaan kecuali ditimpa oleh parameter ContentType.

Saat isi adalah formulir, atau merupakan output dari panggilan Invoke-WebRequest lain, PowerShell mengatur konten permintaan ke bidang formulir.

Parameter Badan juga dapat menerima objek System.Net.Http.MultipartFormDataContent, yang memfasilitasi permintaan multipart/form-data. Ketika objek MultipartFormDataContent disediakan untuk Body, header terkait konten apa pun yang disediakan ke ContentType, Headers, atau parameter WebSession akan ditimpa oleh header konten dari objek MultipartFormDataContent. Fitur ini ditambahkan di PowerShell 6.0.0.

Properti parameter

Jenis:Object
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Certificate

Menentukan sertifikat klien yang digunakan untuk permintaan web yang aman. Masukkan variabel yang berisi sertifikat atau perintah atau ekspresi yang mendapatkan sertifikat.

Untuk menemukan sertifikat, gunakan Get-PfxCertificate atau gunakan cmdlet Get-ChildItem di drive Sertifikat (Cert:). Jika sertifikat tidak valid atau tidak memiliki otoritas yang memadai, perintah gagal.

Properti parameter

Jenis:X509Certificate
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-CertificateThumbprint

Menentukan sertifikat kunci publik digital (X509) dari akun pengguna yang memiliki izin untuk mengirim permintaan. Masukkan sidik jari sertifikat.

Sertifikat digunakan dalam autentikasi berbasis sertifikat klien. Sertifikat hanya dapat dipetakan ke akun pengguna lokal, bukan akun domain.

Untuk melihat thumbprint sertifikat, gunakan perintah Get-Item atau Get-ChildItem untuk menemukan sertifikat di Cert:\CurrentUser\My.

Nota

Fitur ini saat ini hanya didukung pada platform OS Windows.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ConnectionTimeoutSeconds

Menentukan berapa lama permintaan dapat tertunda sebelum waktu habis. Masukkan nilai dalam detik. Nilai default, 0, menentukan waktu tunggu tidak terbatas.

Kueri Sistem Nama Domain (DNS) bisa memakan waktu hingga 15 detik untuk kembali atau kehabisan waktu. Jika permintaan Anda berisi nama host yang memerlukan resolusi, dan Anda mengatur ConnectionTimeoutSeconds ke nilai yang lebih besar dari nol, tetapi kurang dari 15 detik, dibutuhkan waktu 15 detik atau lebih sebelum WebException dibuang, dan waktu permintaan Anda habis.

Parameter ini menggantikan parameter TimeoutSec di PowerShell 7.4. Anda dapat menggunakan TimeoutSec sebagai alias untuk ConnectionTimeoutSeconds.

Properti parameter

Jenis:Int32
Nilai default:0
Mendukung wildcard:False
DontShow:False
Alias:TimeoutSec

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ContentType

Menentukan tipe isi permintaan web.

Jika nilai untuk ContentType berisi format pengodean (sebagai charset), cmdlet menggunakan format tersebut untuk mengodekan isi permintaan web. Jika ContentType tidak menentukan format pengodean, format pengodean default akan digunakan sebagai gantinya. Contoh ContentType dengan format pengodean adalah text/plain; charset=iso-8859-5, yang menentukan alfabet Latin/Sirilik.

Jika Anda menghilangkan parameter, jenis konten mungkin berbeda berdasarkan metode HTTP yang Anda gunakan:

  • Untuk metode POST, jenis konten application/x-www-form-urlencoded
  • Untuk metode PUT, jenis konten application/json
  • Untuk metode lain, jenis konten tidak ditentukan dalam permintaan

Jika Anda menggunakan parameter InFile untuk mengunggah file, Anda harus mengatur jenis konten. Biasanya, jenisnya harus application/octet-stream. Namun, Anda perlu mengatur jenis konten berdasarkan persyaratan titik akhir.

ContentType ditimpa ketika Isi adalah objek MultipartFormDataContent.

Mulai dari PowerShell 7.4, jika Anda menggunakan parameter ini dan parameter Header untuk menentukan header Content-Type, nilai yang ditentukan dalam parameter ContentType digunakan.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Credential

Menentukan akun pengguna yang memiliki izin untuk mengirim permintaan. Defaultnya adalah pengguna saat ini.

Ketik nama pengguna, seperti User01 atau Domain01\User01, atau masukkan objek PSCredential yang dihasilkan oleh cmdlet Get-Credential.

Anda dapat menggunakan Kredensial saja atau bersama dengan opsi parameter Autentikasi tertentu. Ketika digunakan sendiri, fitur ini hanya menyediakan kredensial ke server jarak jauh jika server jarak jauh mengirimkan permintaan tantangan autentikasi. Saat digunakan dengan opsi Autentikasi, kredensial dikirim secara eksplisit.

Kredensial disimpan dalam objek PSCredential dan kata sandi disimpan sebagai SecureString.

Nota

Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.

Properti parameter

Jenis:PSCredential
Nilai default:Current user
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-CustomMethod

Menentukan metode kustom yang digunakan untuk permintaan web. Ini dapat digunakan dengan Metode Permintaan yang diperlukan oleh endpoint yang bukan merupakan opsi yang tersedia pada Metode . Metode dan CustomMethod tidak dapat digunakan bersama-sama.

Contoh:

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

Ini membuat permintaan HTTP TEST ke API.

Fitur ini ditambahkan di PowerShell 6.0.0.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:cm

Set parameter

CustomMethod
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CustomMethodNoProxy
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-DisableKeepAlive

Mengatur nilai KeepAlive di header HTTP ke False. Secara bawaan, KeepAlive adalah True. KeepAlive membuat koneksi persisten ke server untuk memfasilitasi permintaan berikutnya.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

Menunjukkan cmdlet harus mengikuti tautan relasi.

Beberapa REST API mendukung paginasi melalui Link Relasi per RFC5988. Alih-alih mengurai header untuk mendapatkan URL untuk halaman berikutnya, Anda dapat meminta cmdlet melakukan ini untuk Anda. Untuk mengatur berapa kali mengikuti tautan relasi, gunakan parameter MaximumFollowRelLink.

Saat menggunakan sakelar ini, cmdlet mengembalikan kumpulan halaman hasil. Setiap halaman hasil mungkin berisi beberapa item hasil.

Fitur ini ditambahkan di PowerShell 6.0.0.

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:FL
(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Form

Mengonversi kamus menjadi entri multipart/form-data. Formulir mungkin tidak digunakan dengan Isi. ContentType diabaikan.

Kunci kamus digunakan sebagai nama bidang formulir. Secara default, nilai formulir dikonversi menjadi nilai string.

Jika nilainya adalah objek System.IO.FileInfo, maka konten file biner dikirimkan. Nama file dikirimkan sebagai filename. Jenis MIME diatur sebagai application/octet-stream. Get-Item dapat digunakan untuk menyederhanakan penyediaan objek System.IO.FileInfo.

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

Jika nilai adalah jenis koleksi, seperti Array atau Daftar, bidang formulir dikirimkan beberapa kali. Nilai daftar diperlakukan sebagai string secara default. Jika nilainya adalah objek System.IO.FileInfo, maka konten file biner dikirimkan. Koleksi berlapis tidak didukung.

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

Dalam contoh di atas, bidang tags disediakan tiga kali dalam formulir, sekali untuk setiap nilai: Vacation, Italy, dan 2017. Bidang pictures dikirimkan sekali untuk setiap file di folder 2017-Italy. Konten biner file dalam folder tersebut dikirimkan sebagai nilai.

Fitur ini ditambahkan di PowerShell 6.1.0.

Properti parameter

Jenis:IDictionary
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Headers

Menentukan header permintaan web. Inputkan tabel hash atau kamus.

Header terkait konten, seperti Content-Type, ditimpa ketika objek MultipartFormDataContent disediakan untuk Isi.

Mulai dari PowerShell 7.4, jika Anda menggunakan parameter ini untuk menentukan header Content-Type dan menggunakan parameter ContentType, nilai yang ditentukan dalam parameter ContentType digunakan.

Properti parameter

Jenis:IDictionary
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-HttpVersion

Menentukan versi HTTP yang digunakan untuk permintaan. Defaultnya adalah 1.1.

Nilai yang valid adalah:

  • 1.0
  • 1.1
  • 2.0
  • 3.0

Properti parameter

Jenis:Version
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-InFile

Mendapatkan konten isi permintaan web dari file. Masukkan jalur dan nama file. Jika Anda menghilangkan jalur, defaultnya adalah lokasi saat ini.

Anda juga perlu mengatur jenis konten permintaan. Misalnya, untuk mengunggah file, Anda harus mengatur jenis konten. Biasanya, jenisnya harus application/octet-stream. Namun, Anda perlu mengatur jenis konten berdasarkan persyaratan titik akhir.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

Menentukan berapa kali untuk mengikuti tautan relasi jika FollowRelLink digunakan. Nilai yang lebih kecil mungkin diperlukan jika REST API mengalami pembatasan karena permintaan yang terlalu banyak. Nilai defaultnya adalah [int32]::MaxValue. Nilai 0 (nol) mencegah tautan relasi berikut.

Jenis:Int32
Nilai default:Int32.MaxValue
Mendukung wildcard:False
DontShow:False
Alias:ML
(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-MaximumRedirection

Menentukan berapa kali PowerShell mengalihkan koneksi ke Pengidentifikasi Sumber Daya Seragam (URI) alternatif sebelum koneksi gagal. Nilai defaultnya adalah 5. Nilai 0 (nol) mencegah semua pengalihan.

Properti parameter

Jenis:Int32
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-MaximumRetryCount

Menentukan berapa kali PowerShell mencoba kembali koneksi saat kode kegagalan antara 400 dan 599, inklusif atau 304 diterima. Lihat juga parameter RetryIntervalSec untuk menentukan interval antar percobaan ulang.

Properti parameter

Jenis:Int32
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Method

Menentukan metode yang digunakan untuk permintaan web. Nilai yang dapat diterima untuk parameter ini adalah:

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

Parameter CustomMethod dapat digunakan untuk Metode Permintaan yang tidak tercantum di atas.

Properti parameter

Jenis:WebRequestMethod
Nilai default:None
Nilai yang diterima:Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch
Mendukung wildcard:False
DontShow:False

Set parameter

StandardMethod
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
StandardMethodNoProxy
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-NoProxy

Menunjukkan bahwa cmdlet tidak akan menggunakan proksi untuk mencapai tujuan. Gunakan ini untuk melewati proksi yang dikonfigurasi di pengaturan internet Anda atau yang ditentukan di lingkungan sistem.

Parameter ini diperkenalkan di PowerShell 6.0.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

StandardMethodNoProxy
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CustomMethodNoProxy
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-OperationTimeoutSeconds

Batas waktu ini berlaku untuk pembacaan data dalam aliran, bukan untuk waktu streaming secara keseluruhan. Nilai default, 0, menentukan batas waktu yang tidak ditentukan.

Mengatur nilai menjadi 30 detik berarti bahwa setiap penundaan lebih dari 30 detik antara data dalam aliran mengakhiri permintaan. File besar yang membutuhkan waktu beberapa menit untuk diunduh tidak akan dihentikan kecuali aliran terhenti selama lebih dari 30 detik.

Properti parameter

Jenis:Int32
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-OutFile

Pada pengaturan awal, Invoke-RestMethod mengembalikan hasil ke jalur pemrosesan. Saat Anda menggunakan parameter OutFile, hasilnya disimpan ke file yang ditentukan dan tidak dikembalikan ke alur. Masukkan jalur dan nama file. Untuk mengirim hasil ke file dan ke alur, tambahkan parameter PassThru.

Jika Anda menghilangkan jalur, defaultnya adalah lokasi saat ini. Nama ini diperlakukan sebagai jalur harfiah. Nama yang berisi tanda kurung ([]) harus diapit dalam tanda kutip tunggal (').

Mulai dari PowerShell 7.4, Anda dapat menentukan jalur folder tanpa nama file. Saat Anda melakukannya, perintah menggunakan nama file pada segmen terakhir URI yang sudah diresolusi setelah setiap pengalihan. Saat Anda menentukan jalur folder untuk OutFile, Anda tidak dapat menggunakan parameter Resume.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-PassThru

Parameter ini hanya valid ketika parameter OutFile juga digunakan dalam perintah . Tujuannya adalah agar hasilnya ditulis ke file dan ke jalur pemrosesan.

Properti parameter

Jenis:SwitchParameter
Nilai default:No output
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-PreserveAuthorizationOnRedirect

Menunjukkan bahwa cmdlet harus mempertahankan header Authorization, jika ada, di seluruh pengalihan.

Secara default, cmdlet menghapus header Authorization sebelum dialihkan. Menentukan parameter ini menonaktifkan logika ini untuk kasus di mana header perlu dikirim ke lokasi pengalihan.

Fitur ini ditambahkan di PowerShell 6.0.0.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-PreserveHttpMethodOnRedirect

Menunjukkan bahwa cmdlet harus mempertahankan metode permintaan di seluruh pengalihan.

Secara default, cmdlet mengubah metode menjadi GET saat dialihkan. Menentukan parameter ini menonaktifkan logika ini untuk memastikan bahwa metode yang dimaksudkan dapat digunakan dengan pengalihan.

Fitur ini ditambahkan di PowerShell 7.4.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Proxy

Menggunakan server proksi untuk permintaan, daripada menyambungkan langsung ke sumber daya internet. Masukkan Pengidentifikasi Sumber Daya Seragam (URI) server proksi jaringan.

Fitur ini ditambahkan di PowerShell 6.0.0.

Properti parameter

Jenis:Uri
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

StandardMethod
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CustomMethod
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ProxyCredential

Menentukan akun pengguna yang memiliki izin untuk menggunakan server proksi yang ditentukan oleh parameter Proksi. Defaultnya adalah pengguna saat ini.

Ketik nama pengguna, seperti "User01" atau "Domain01\User01", atau masukkan objek PSCredential, seperti yang dihasilkan oleh cmdlet Get-Credential.

Parameter ini hanya valid ketika parameter Proksi juga digunakan dalam perintah . Anda tidak dapat menggunakan parameter ProxyCredential dan ProxyUseDefaultCredentials dalam perintah yang sama.

Properti parameter

Jenis:PSCredential
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

StandardMethod
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CustomMethod
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ProxyUseDefaultCredentials

Menggunakan kredensial pengguna saat ini untuk mengakses server proksi yang ditentukan oleh parameter Proksi.

Parameter ini hanya valid ketika parameter Proksi juga digunakan dalam perintah . Anda tidak dapat menggunakan parameter ProxyCredential dan ProxyUseDefaultCredentials dalam perintah yang sama.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

StandardMethod
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False
CustomMethod
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-ResponseHeadersVariable

Membuat variabel yang berisi Kamus Header Respons. Masukkan nama variabel tanpa simbol tanda dolar ($). Kunci dari kamus ini berisi nama-nama bidang dan nilai-nilai dari Header Respon yang dikembalikan oleh server web.

Fitur ini ditambahkan di PowerShell 6.0.0.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:RHV

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Resume

Melakukan upaya terbaik untuk melanjutkan pengunduhan file parsial. Parameter Resume memerlukan parameter OutFile.

Lanjutkan hanya beroperasi pada ukuran file lokal dan file jarak jauh dan tidak melakukan validasi lain bahwa file lokal dan file jarak jauh sama.

Jika ukuran file lokal lebih kecil dari ukuran file jarak jauh, maka cmdlet mencoba melanjutkan pengunduhan file dan menambahkan byte yang tersisa ke akhir file.

Jika ukuran file lokal sama dengan ukuran file jarak jauh, maka tidak ada tindakan yang diambil dan cmdlet mengasumsikan unduhan sudah selesai.

Jika ukuran file lokal lebih besar dari ukuran file jarak jauh, maka file lokal di-overwrite dan seluruh file jarak jauh diunduh ulang. Perilaku ini sama dengan menggunakan OutFile tanpa Lanjutkan.

Jika server jarak jauh tidak mendukung melanjutkan unduhan, maka file lokal diganti dan seluruh file jarak jauh diunduh ulang. Perilaku ini sama dengan menggunakan OutFile tanpa Lanjutkan.

Jika file lokal tidak ada, maka file lokal dibuat dan seluruh file jarak jauh diunduh. Perilaku ini sama dengan menggunakan OutFile tanpa Lanjutkan.

Fitur ini ditambahkan di PowerShell 6.1.0.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-RetryIntervalSec

Menentukan interval antara percobaan ulang untuk koneksi ketika kode kegagalan antara 400 dan 599, inklusif atau 304 diterima. Nilai harus antara 1 dan [int]::MaxValue. Ketika kode kegagalan adalah 429 dan respons menyertakan properti Coba Lagi-Setelah di headernya, cmdlet menggunakan nilai tersebut untuk interval coba lagi, bahkan jika parameter ini ditentukan.

Selain itu, lihat parameter MaximumRetryCount untuk menentukan jumlah percobaan ulang.

Properti parameter

Jenis:Int32
Nilai default:5
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-SessionVariable

Membuat variabel yang berisi sesi permintaan web. Masukkan nama variabel tanpa simbol tanda dolar ($).

Saat Anda menentukan variabel sesi, Invoke-RestMethod membuat objek sesi permintaan web dan menetapkannya ke variabel dengan nama yang ditentukan dalam sesi PowerShell Anda. Anda dapat menggunakan variabel dalam sesi Anda segera setelah perintah selesai.

Sebelum PowerShell 7.4, sesi permintaan web bukan koneksi persisten. Ini adalah objek yang berisi informasi tentang koneksi dan permintaan, termasuk cookie, kredensial, nilai pengalihan maksimum, dan string agen pengguna. Anda dapat menggunakannya untuk berbagi status dan data di antara permintaan web.

Dimulai pada PowerShell 7.4, sesi permintaan web bersifat persisten selama properti sesi tidak digantikan dalam permintaan berikutnya. Ketika sudah, cmdlet membuat ulang sesi dengan nilai baru. Session yang persisten mengurangi beban kerja untuk permintaan berulang, menjadikannya jauh lebih cepat.

Untuk menggunakan sesi permintaan web dalam permintaan web berikutnya, tentukan variabel sesi dalam nilai parameter WebSession. PowerShell menggunakan data dalam objek sesi permintaan web saat membuat koneksi baru. Untuk mengambil alih nilai dalam sesi permintaan web, gunakan parameter cmdlet, seperti UserAgent atau Credential. Nilai parameter lebih diutamakan daripada nilai dalam sesi permintaan web.

Anda tidak dapat menggunakan parameter SessionVariable dan WebSession dalam perintah yang sama.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:SV

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-SkipCertificateCheck

Melepaskan pemeriksaan validasi sertifikat, termasuk validasi seperti kedaluwarsa, pencabutan, otoritas akar tepercaya, dll.

Peringatan

Menggunakan parameter ini tidak aman dan tidak disarankan. Sakelar ini hanya dimaksudkan untuk digunakan terhadap host yang diketahui menggunakan sertifikat yang ditandatangani sendiri untuk tujuan pengujian. Gunakan dengan risiko Anda sendiri.

Fitur ini ditambahkan di PowerShell 6.0.0.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-SkipHeaderValidation

Menunjukkan cmdlet harus menambahkan header ke permintaan tanpa validasi.

Sakelar ini harus digunakan untuk situs yang memerlukan nilai header yang tidak mengikuti standar. Menentukan sakelar ini menonaktifkan validasi untuk memungkinkan nilai diteruskan tanpa pemeriksaan. Ketika ditentukan, semua header ditambahkan tanpa validasi.

Sakelar ini menonaktifkan validasi untuk nilai yang diteruskan ke parameter ContentType, Headers, dan UserAgent.

Fitur ini ditambahkan di PowerShell 6.0.0.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-SkipHttpErrorCheck

Parameter ini menyebabkan cmdlet mengabaikan status kesalahan HTTP dan terus memproses respons. Respons kesalahan ditulis ke alur seolah-olah berhasil.

Parameter ini diperkenalkan di PowerShell 7.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-SslProtocol

Mengatur protokol SSL/TLS yang diizinkan untuk permintaan web. Secara default semua, protokol SSL/TLS yang didukung oleh sistem diizinkan. SslProtocol memungkinkan pembatasan pada protokol tertentu untuk tujuan kepatuhan.

Nilai-nilai ini didefinisikan sebagai enumerasi berbasis bendera. Anda dapat menggabungkan beberapa nilai bersama-sama untuk mengatur beberapa bendera menggunakan parameter ini. Nilai dapat diteruskan ke parameter SslProtocol sebagai array nilai atau sebagai string yang dipisahkan koma dari nilai tersebut. Cmdlet menggabungkan nilai menggunakan operasi biner-OR. Meneruskan nilai sebagai array adalah opsi paling sederhana dan juga memungkinkan Anda menggunakan penyelesaian tab pada nilai. Anda mungkin tidak dapat menyediakan beberapa nilai di semua platform.

Fitur ini ditambahkan di PowerShell 6.0.0. Dukungan untuk Tls13 ditambahkan di PowerShell 7.1.

Properti parameter

Jenis:WebSslProtocol
Nilai default:None
Nilai yang diterima:Default, Tls, Tls11, Tls12, Tls13
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-StatusCodeVariable

Membuat variabel yang berisi hasil kode status HTTP dari permintaan. Masukkan nama variabel tanpa simbol tanda dolar ($).

Parameter dapat mengidentifikasi pesan keberhasilan atau pesan kegagalan saat digunakan dengan parameter SkipHttpErrorCheck.

Masukkan nama variabel parameter sebagai string seperti -StatusCodeVariable "scv".

Parameter ini diperkenalkan di PowerShell 7.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Token

Token OAuth atau Bearer yang harus disertakan dalam permintaan. Token diperlukan oleh opsi Autentikasi tertentu. Ini tidak dapat digunakan secara independen.

Token mengambil SecureString yang berisi token. Untuk menyediakan token, gunakan hal berikut secara manual:

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

Parameter ini diperkenalkan di PowerShell 6.0.

Properti parameter

Jenis:SecureString
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-TransferEncoding

Menentukan nilai untuk header respons HTTP Transfer-Encoding. Nilai yang dapat diterima untuk parameter ini adalah:

  • Dipotong
  • Kompres
  • Mengempis
  • GZip
  • Identitas

Properti parameter

Jenis:String
Nilai default:None
Nilai yang diterima:chunked, compress, deflate, gzip, identity
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-UnixSocket

Menentukan nama soket Unix yang akan disambungkan. Parameter ini didukung pada sistem berbasis Unix dan Windows versi 1803 dan yang lebih baru. Untuk informasi selengkapnya tentang dukungan soket Unix di Windows, lihat posting blog Windows/WSL Interop dengan AF_UNIX.

Parameter ini ditambahkan di PowerShell 7.4.

Properti parameter

Jenis:UnixDomainSocketEndPoint
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Uri

Menentukan Pengidentifikasi Sumber Daya Seragam (URI) sumber daya internet tempat permintaan web dikirim. Parameter ini mendukung nilai HTTP, HTTPS, FTP, dan FILE.

Parameter ini diperlukan. Nama parameter (Uri) bersifat opsional.

Properti parameter

Jenis:Uri
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:0
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-UseBasicParsing

Parameter ini tidak digunakan lagi. Dimulai dengan PowerShell 6.0.0, semua permintaan Web hanya menggunakan penguraian dasar. Parameter ini hanya disertakan untuk kompatibilitas mundur. Ketika digunakan, itu tidak berpengaruh pada pengoperasian cmdlet.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-UseDefaultCredentials

Menunjukkan bahwa cmdlet menggunakan kredensial pengguna saat ini untuk mengirim permintaan web. Ini tidak dapat digunakan dengan Autentikasi atau Kredensial dan mungkin tidak didukung di semua platform.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-UserAgent

Menentukan user agent string untuk permintaan web.

Agen pengguna default mirip dengan Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0 dengan sedikit variasi untuk setiap sistem operasi dan platform.

Untuk menguji situs web dengan string agen pengguna standar yang digunakan oleh sebagian besar browser internet, gunakan properti kelas PSUserAgent, seperti Chrome, Firefox, InternetExplorer, Opera, dan Safari.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-WebSession

Menentukan sesi permintaan web. Masukkan nama variabel, termasuk tanda dolar ($).

Untuk mengambil alih nilai dalam sesi permintaan web, gunakan parameter cmdlet, seperti UserAgent atau Credential. Nilai parameter lebih diutamakan daripada nilai dalam sesi permintaan web. Header yang terkait dengan konten, seperti Content-Type, akan ditimpa ketika objek MultipartFormDataContent disediakan untuk Body.

Tidak seperti sesi jarak jauh, sesi permintaan web bukan koneksi persisten. Ini adalah objek yang berisi informasi tentang koneksi dan permintaan, termasuk cookie, kredensial, nilai pengalihan maksimum, dan string agen pengguna. Anda dapat menggunakannya untuk berbagi status dan data di antara permintaan web.

Untuk membuat sesi permintaan web, masukkan nama variabel, tanpa tanda dolar, dalam nilai parameter SessionVariable dari perintah Invoke-RestMethod. Invoke-RestMethod membuat sesi dan menyimpannya dalam variabel. Dalam perintah berikutnya, gunakan variabel sebagai nilai parameter WebSession.

Anda tidak dapat menggunakan parameter SessionVariable dan WebSession dalam perintah yang sama.

Properti parameter

Jenis:WebRequestSession
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

Object

Anda dapat menyalurkan isi permintaan web ke cmdlet ini.

Output

Int64

Saat permintaan mengembalikan bilangan bulat, cmdlet ini mengembalikan bilangan bulat tersebut.

String

Saat permintaan mengembalikan string, cmdlet ini mengembalikan string tersebut.

XmlDocument

Saat permintaan mengembalikan XML yang valid, cmdlet ini mengembalikannya sebagai XmlDocument.

PSObject

Saat permintaan mengembalikan string JSON, cmdlet ini mengembalikan PSObject mewakili data.

Catatan

PowerShell menyertakan alias berikut untuk Invoke-RestMethod:

  • Semua platform:
    • irm

Beberapa fitur mungkin tidak tersedia di semua platform.

Karena perubahan pada .NET Core 3.1, PowerShell 7.0 dan yang lebih tinggi menggunakan properti HttpClient.DefaultProxy untuk menentukan konfigurasi proksi.

Nilai properti ini berbeda tergantung pada platform Anda:

  • Untuk Windows: Membaca konfigurasi proksi dari variabel lingkungan atau, jika tidak ditentukan, dari pengaturan proksi pengguna.
  • Untuk macOS: Membaca konfigurasi proksi dari variabel lingkungan atau, jika tidak ditentukan, dari pengaturan proksi sistem.
  • Untuk Linux: Membaca konfigurasi proksi dari variabel lingkungan, atau, jika variabel tersebut tidak ditentukan, properti ini akan menginisialisasi instance yang tidak terkonfigurasi dan mengabaikan semua alamat.

Variabel lingkungan yang digunakan untuk inisialisasi DefaultProxy pada platform berbasis Windows dan Unix adalah:

  • HTTP_PROXY: nama host atau alamat IP server proksi yang digunakan pada permintaan HTTP.
  • HTTPS_PROXY: nama host atau alamat IP server proksi yang digunakan pada permintaan HTTPS.
  • ALL_PROXY: nama host atau alamat IP server proksi yang digunakan pada permintaan HTTP dan HTTPS jika HTTP_PROXY atau HTTPS_PROXY tidak ditentukan.
  • NO_PROXY: daftar hostname yang dipisahkan koma yang harus dikecualikan dari penggunaan proksi.

PowerShell 7.4 menambahkan dukungan untuk algoritma kompresi Brotli.