Invoke-RestMethod (Microsoft.PowerShell.Utility)


Invoke-RestMethod

Modül:
Microsoft.PowerShell.Utility

RESTful web hizmetine bir HTTP veya HTTPS isteği gönderir.

Sözdizimi

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>]

Tanım

Invoke-RestMethod cmdlet'i, zengin yapılandırılmış veriler döndüren Temsili Durum Aktarımı (REST) web hizmetlerine HTTP ve HTTPS isteklerini gönderir.

PowerShell, yanıtı veri türüne göre biçimlendirir. Bir RSS veya ATOM yayını için PowerShell, Öğe veya Giriş XML düğümlerini döndürür. PowerShell, JavaScript Nesne Gösterimi (JSON) veya XML için içeriği [PSCustomObject] nesnelerine dönüştürür veya seri durumdan çıkarır.

Not

REST uç noktası birden fazla nesne döndürdüğünde nesneler bir dizi olarak alınır. Çıktıyı Invoke-RestMethod'dan başka bir komuta aktarırsanız, tek bir [Object[]] nesnesi olarak gönderilir. Bu dizinin içeriği, işlem hattındaki bir sonraki komut için numaralandırılmaz.

Bu cmdlet, Windows PowerShell 3.0'da tanıtıldı.

PowerShell 7.0'dan itibaren Invoke-RestMethod, ortam değişkenleri tarafından tanımlanan proxy yapılandırmasını destekler. Bu makalenin Notlar bölümüne bakın.

PowerShell 7,4'ten başlayarak, istekler için karakter kodlaması varsayılan olarak ASCII yerine UTF-8'e ayarlanmıştır. Farklı bir kodlamaya ihtiyacınız varsa Content-Type başlığındaki charset özelliğini ayarlamanız gerekir.

Örnekler

Örnek 1: PowerShell RSS akışını alın

Bu örnek, PowerShell Blog RSS akışından bilgi almak için Invoke-RestMethod cmdlet'ini kullanır. Komut, her blogun Title ve pubDate özelliklerinin değerlerini bir tabloda görüntülemek için Format-Table cmdlet'ini kullanır.

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

Örnek 2: POST isteği çalıştırma

Bu örnekte bir kullanıcı, kuruluşundaki bir intranet web sitesinde POST isteği gerçekleştirmek için Invoke-RestMethod'u çalıştırır.

$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

Kimlik bilgileri istenir ve ardından $Cred içinde saklanır ve erişim sağlanacak URL, $Url içinde tanımlanır.

$Body değişkeni, arama kriterlerini açıklar, çıkış modu olarak CSV'yi belirtir ve döndürülen veriler için iki gün önce başlayıp bir gün önce biten bir zaman aralığını belirtir. Gövde değişkeni, Invoke-RestMethod'un iletişim kurduğu belirli REST API'sine uygulanan parametrelere ilişkin değerleri belirtir.

Invoke-RestMethod komutu, tüm değişkenler yerinde olacak şekilde çalıştırılır ve ortaya çıkan CSV çıktı dosyası için bir yol ve dosya adı belirtilir.

Örnek 3: İlişki bağlantılarını takip edin

Bazı REST API'leri, RFC5988 uyarınca İlişki Bağlantıları aracılığıyla sayfalandırmayı destekler. Bir sonraki sayfanın URL'sini almak için başlığı ayrıştırmak yerine cmdlet'in bunu sizin için yapmasını sağlayabilirsiniz. Bu örnek, PowerShell GitHub deposundaki sorunların ilk iki sayfasını döndürür.

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

Örnek 4: Basitleştirilmiş Çok Parçalı/Form Verisi Gönderimi

Bazı API'ler, dosyaları ve karışık içeriği yüklemek için multipart/form-data gönderimlerini gerektirir. Bu örnek, bir kullanıcının profilinin nasıl güncelleneceğini gösterir.

$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

Profil formu şu alanları gerektirir: firstName, lastName, email, avatar, doğum günü ve hobiler. API, avatar alanına kullanıcı profili resminin sağlanmasını bekliyor. API aynı formda birden fazla hobi girişinin gönderilmesini de kabul edecektir.

$Form HashTable'ı oluştururken anahtar adları form alanı adları olarak kullanılır. Varsayılan olarak HashTable'ın değerleri dizelere dönüştürülecektir. System.IO.FileInfo değeri mevcutsa dosya içerikleri gönderilecektir. Diziler veya listeler gibi bir koleksiyon mevcutsa form alanı birden çok kez gönderilecektir.

avatar anahtarında Get-Item kullanıldığında, FileInfo nesnesi değer olarak ayarlanacaktır. Sonuç olarak jdoe.png'ye ait resim verileri gönderilecektir.

hobiler anahtarına bir liste sağlandığında, hobiler alanı her liste öğesi için gönderimlerde bir kez yer alacaktır.

Örnek 5: Birden fazla başlığı iletin

API'ler genellikle kimlik doğrulama veya doğrulama için geçirilen üstbilgilere ihtiyaç duyar. Bu örnek, birden çok başlığın bir karma tablosundan bir REST API'sine nasıl aktarılacağını gösterir.

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

Örnek 6: İşlem hattında döndürülen öğeleri numaralandırma

GitHub birden fazla nesneyi bir diziyle döndürür. Çıktıyı başka bir komuta aktarırsanız tek bir [Object[]]nesnesi olarak gönderilir.

Nesneleri ardışık düzene numaralandırmak için sonuçları Write-Output'a yönlendirin veya cmdlet'i parantez içine alın. Aşağıdaki örnek GitHub tarafından döndürülen nesnelerin sayısını sayar. Daha sonra ardışık düzende numaralandırılan nesnelerin sayısını sayar.

$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

Örnek 7: Başlık Doğrulamasını Atlama

Varsayılan olarak Invoke-RestMethod cmdlet'i, standartlarla tanımlanmış bir değer biçimine sahip, iyi bilinen üstbilgilerin değerlerini doğrular. Aşağıdaki örnek, bu doğrulamanın nasıl hata oluşturabileceğini ve geçersiz biçimlendirilmiş değerleri tolere eden uç noktalara ilişkin değerlerin doğrulanmasını önlemek için SkipHeaderValidation parametresini nasıl kullanabileceğinizi gösterir.

$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, web istekleri ve sorun gidermeye yönelik yanıtlar hakkında bilgi döndüren bir hizmettir. $Uri değişkeni, hizmetin /headers uç noktasına atanır ve bu, yanıttaki içerik olarak bir isteğin başlıklarını döndürür.

If-Match istek üstbilgisi RFC-7232 bölüm 3.1'de tanımlanmıştır ve bu üstbilginin değerinin çevreleyen tırnak işaretleri ile tanımlanmasını gerektirir. $InvalidHeaders değişkenine, If-Match değerinin geçersiz olduğu bir karma tablosu atanır çünkü " yerine 12345 olarak tanımlanmıştır. 12345".

Invoke-RestMethod'u geçersiz başlıklarla çağırmak, biçimlendirilmiş değerin geçersiz olduğunu bildiren bir hata döndürür. İstek uç noktaya gönderilmez.

SkipHeaderValidation parametresiyle Invoke-RestMethod'un çağrılması, doğrulama hatasını yok sayar ve isteği uç noktaya gönderir. Uç nokta uyumlu olmayan başlık değerlerini tolere ettiğinden, cmdlet yanıt nesnesini hatasız olarak döndürür.

Örnek 8: HTTP 2.0 kullanarak istek gönderme

Bu örnek, HTTP 2.0 protokolünü kullanarak GitHub sorununu sorgular.

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

Örnek 9: Unix soket uygulamasına istek gönderme

Docker gibi bazı uygulamalar iletişim için bir Unix soketini kullanıma sunar. Bu örnek, Docker API'sini kullanarak Docker görüntülerinin bir listesini sorgular. Cmdlet, Unix soketini kullanarak Docker arka plan programına bağlanır.

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

Parametreler

-AllowInsecureRedirect

HTTPS'den HTTP'ye yönlendirmeye izin verir. Varsayılan olarak, HTTPS'den HTTP'ye yönlendirilen herhangi bir istek bir hatayla sonuçlanır ve şifrelenmemiş bağlantılar üzerinden yanlışlıkla düz metinle iletişim kurulmasını önlemek için istek iptal edilir. Bu davranışı geçersiz kılmak için risk size ait olmak üzere AllowInsecureRedirect parametresini kullanın.

Bu parametre PowerShell 7.4'e eklenmiştir.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-AllowUnencryptedAuthentication

Kimlik bilgilerinin ve sırların şifrelenmemiş bağlantılar üzerinden gönderilmesine izin verir. Varsayılan olarak, Kimlik Bilgileri veya herhangi bir Kimlik Doğrulama seçeneğinin https:// ile başlamayan bir Uri ile sağlanması, bir hatayla sonuçlanır ve gizli bilgilerin şifrelenmemiş bağlantılar üzerinden düz metin olarak yanlışlıkla iletilmesini önlemek için istek iptal edilir. Riski size ait olmak üzere bu davranışı geçersiz kılmak için AllowUnencryptedAuthentication parametresini sağlayın.

Uyarı

Bu parametrenin kullanılması güvenli değildir ve önerilmez. Yalnızca şifreli bağlantılar sağlayamayan eski sistemlerle uyumluluk için sağlanmıştır. Riski size ait olmak üzere kullanın.

Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Authentication

İstek için kullanılacak açık kimlik doğrulama türünü belirtir. Varsayılan Hiçbiri'dir. Authentication parametresi UseDefaultCredentials parametresiyle birlikte kullanılamaz.

Mevcut Kimlik Doğrulama Seçenekleri:

  • Yok: Bu, Kimlik Doğrulama sağlanmadığında varsayılan seçenektir. Açık bir kimlik doğrulama kullanılmayacaktır.
  • Temel: Kimlik Bilgisi gerektirir. Kimlik bilgileri, base64(user:password) biçiminde bir RFC 7617 Temel Kimlik Doğrulama Yetkilendirme: Temel başlığı göndermek için kullanılacaktır.
  • Taşıyıcı: Jeton parametresini gerektirir. Sağlanan jetonla birlikte bir RFC 6750 Yetkilendirme: Taşıyıcı başlığını gönderir.
  • OAuth: Jeton parametresini gerektirir. Sağlanan jetonla birlikte bir RFC 6750 Yetkilendirme: Taşıyıcı başlığını gönderir.

Kimlik Doğrulama'nın sağlanması, Başlıklar'a sağlanan veya WebSession'a dahil edilen tüm Yetkilendirme başlıklarını geçersiz kılar.

Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

WebKimlik Doğrulama Türü

Kabul edilen değerler:

Yok, Temel, Taşıyıcı, OAuth

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Body

İsteğin gövdesini belirtir. Gövde, başlıkları takip eden isteğin içeriğidir. Ayrıca Invoke-RestMethod'a bir gövde değeri aktarabilirsiniz.

Body parametresi, sorgu parametrelerinin bir listesini belirtmek veya yanıtın içeriğini belirtmek için kullanılabilir. Sorgu parametreleri için cmdlet, anahtar/değer çiftlerini kodlamak üzere System.Net.WebUtility.UrlEncode yöntem yöntemini kullanır. URL'lere yönelik dizeleri kodlama hakkında daha fazla bilgi için UrlEncode() yöntemi referansına bakın.

Giriş bir POST isteği olduğunda ve gövde bir Dize olduğunda, ilk eşittir işaretinin solundaki değer (=), form verilerinde bir anahtar olarak ayarlanır ve kalan metin değer olarak ayarlanır. Birden çok anahtar belirtmek amacıyla Gövde için karma tablo gibi bir IDictionary nesnesi kullanın.

Giriş bir GET isteği olduğunda ve gövde bir IDictionary (genellikle bir karma tablosu) olduğunda, gövde URI'ye sorgu parametreleri olarak eklenir. Diğer istek türleri için (PATCH gibi), gövde, URL kodlu değerlerle standart ad=değer biçiminde istek gövdesinin değeri olarak ayarlanır.

Giriş bir System.Xml.XmlNode nesnesi olduğunda ve XML bildirimi bir kodlamayı belirttiğinde, ContentType parametresi tarafından geçersiz kılınmadığı sürece istekteki veriler için bu kodlama kullanılır.

Gövde bir form olduğunda veya başka bir Invoke-WebRequest çağrısının çıktısı olduğunda PowerShell, istek içeriğini form alanlarına ayarlar.

Body parametresi ayrıca bir System.Net.Http.MultipartFormDataContent nesnesini de kabul edebilir. Bu, multipart/form-data isteklerini kolaylaştıracaktır. Body için bir MultipartFormDataContent nesnesi sağlandığında, içerikle ilgili tüm başlıklar ContentType, Headers veya <'ye sağlanır.WebSession parametreleri, MultipartFormDataContent nesnesinin içerik üstbilgileri tarafından geçersiz kılınacaktır. Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

Nesne

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Certificate

Güvenli bir web isteği için kullanılan istemci sertifikasını belirtir. Sertifikayı alan bir sertifikayı veya komutu veya ifadeyi içeren bir değişken girin.

Bir sertifika bulmak için Get-PfxCertificate kullanın veya Sertifika (Cert:) sürücüsündeki Get-ChildItem cmdlet'ini kullanın. Sertifika geçerli değilse veya yeterli yetkiye sahip değilse komut başarısız olur.

Tip :

X509Sertifikası

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-CertificateThumbprint

İsteği gönderme iznine sahip bir kullanıcı hesabının dijital ortak anahtar sertifikasını (X509) belirtir. Sertifikanın sertifika parmak izini girin.

Sertifikalar, istemci sertifikası tabanlı kimlik doğrulamada kullanılır. Sertifikalar yalnızca yerel kullanıcı hesaplarıyla eşlenebilir, etki alanı hesaplarıyla eşlenemez.

Sertifika parmak izini görmek için Get-Item veya Get-ChildItem komutunu kullanarak sertifikayı Cert:\CurrentUser\My konumunda bulun.

Not

Bu özellik şu anda yalnızca Windows işletim sistemi platformlarında desteklenmektedir.

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-ConnectionTimeoutSeconds

İsteğin zaman aşımına uğramadan önce ne kadar süreyle beklemede kalabileceğini belirtir. Saniye cinsinden bir değer girin. Varsayılan değer olan 0, süresiz bir zaman aşımını belirtir.

Bir Etki Alanı Adı Sistemi (DNS) sorgusunun geri dönmesi veya zaman aşımına uğraması 15 saniye kadar sürebilir. İsteğiniz çözüm gerektiren bir ana makine adı içeriyorsa ve ConnectionTimeoutSeconds'u sıfırdan büyük ancak 15 saniyeden kısa bir değere ayarladıysanız, WebException 'un oluşması 15 saniye veya daha uzun sürebilir. Strong atılır ve isteğiniz zaman aşımına uğrar.

Bu parametre, PowerShell 7.4'teki TimeoutSec parametresinin yerini almıştır. TimeoutSec'i ConnectionTimeoutSeconds için takma ad olarak kullanabilirsiniz.

Tip :

Int32

Takma adlar:

TimeoutSec

Konum:

Adlandırılmış

Varsayılan değer:

0

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-ContentType

Web isteğinin içerik türünü belirtir.

ContentType değeri kodlama biçimini içeriyorsa (karakter kümesi olarak), cmdlet web isteğinin gövdesini kodlamak için bu biçimi kullanır. ContentType bir kodlama biçimi belirtmiyorsa bunun yerine varsayılan kodlama biçimi kullanılır. Kodlama biçimine sahip bir ContentType örneği text/plain; charset=iso-8859-5, Latin/Kiril alfabesini belirtir.

Bu parametre atlanırsa ve istek yöntemi POST ise, Invoke-RestMethod içerik türünü application/x-www-form-urlencoded olarak ayarlar. Aksi takdirde çağrıda içerik türü belirtilmez.

Body için bir MultipartFormDataContent nesnesi sağlandığında ContentType geçersiz kılınacaktır.

PowerShell 7.4'ten başlayarak, Content-Type üstbilgisini tanımlamak için hem bu parametreyi hem de Headers parametresini kullanırsanız, ContentType 'ta belirtilen değer parametresi kullanılır.

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Credential

İsteği gönderme iznine sahip bir kullanıcı hesabını belirtir. Varsayılan geçerli kullanıcıdır.

User01 veya Domain01\User01 gibi bir kullanıcı adı yazın veya Get-Credential tarafından oluşturulan bir PSCredential nesnesi girin kod > cmdlet'i seçin.

Kimlik bilgisi tek başına veya belirli Kimlik Doğrulama parametre seçenekleriyle birlikte kullanılabilir. Tek başına kullanıldığında, uzak sunucunun kimlik doğrulama isteği göndermesi durumunda yalnızca uzak sunucuya kimlik bilgileri sağlar. Kimlik Doğrulama seçenekleriyle birlikte kullanıldığında kimlik bilgileri açıkça gönderilir.

Kimlik bilgileri bir PSCredential nesnesinde, parola ise SecureString olarak depolanır.

Not

SecureString veri koruması hakkında daha fazla bilgi için bkz. SecureString ne kadar güvenli?.

Tip :

PSCredential'ı

Konum:

Adlandırılmış

Varsayılan değer:

Geçerli kullanıcı

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-CustomMethod

Web isteği için kullanılan özel yöntemi belirtir. Bu, uç noktanın gerektirdiği İstek Yöntemi ile kullanılabilir; Yöntem'de mevcut bir seçenek değildir. Method ve CustomMethod birlikte kullanılamaz.

Örnek :

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

Bu, API'ye bir TEST HTTP isteğinde bulunur.

Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

String

Takma adlar:

CM

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-DisableKeepAlive

Cmdlet'in HTTP üstbilgisindeki KeepAlive değerini False olarak ayarladığını belirtir. Varsayılan olarak KeepAlive Doğru'dur. KeepAlive sonraki istekleri kolaylaştırmak için sunucuyla kalıcı bir bağlantı kurar.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-FollowRelLink

Cmdlet'in ilişki bağlantılarını takip etmesi gerektiğini belirtir.

Bazı REST API'leri, RFC5988 uyarınca İlişki Bağlantıları aracılığıyla sayfalandırmayı destekler. Bir sonraki sayfanın URL'sini almak için başlığı ayrıştırmak yerine cmdlet'in bunu sizin için yapmasını sağlayabilirsiniz. İlişki bağlantılarının kaç kez takip edileceğini ayarlamak için MaximumFollowRelLink parametresini kullanın.

Bu anahtarı kullanırken cmdlet, sonuç sayfalarının bir koleksiyonunu döndürür. Sonuçların her sayfası birden fazla sonuç öğesi içerebilir.

Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

SwitchParameter

Takma adlar:

FL

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Form

Bir sözlüğü multipart/form-data gönderimine dönüştürür. Form, Gövde ile birlikte kullanılamaz. ContentType yoksayılacaksa.

Sözlüğün anahtarları form alanı adları olarak kullanılacaktır. Varsayılan olarak form değerleri dize değerlerine dönüştürülecektir.

Değer bir System.IO.FileInfo nesnesiyse ikili dosya içerikleri gönderilir. Dosyanın adı dosyaadı olarak gönderilecektir. MIME, application/octet-stream olarak ayarlanacaktır. Get-Item, System.IO.FileInfo nesnesinin sağlanmasını basitleştirmek için kullanılabilir.

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

Değer, Dizi veya Liste gibi bir koleksiyon türüyse for alanı birden çok kez gönderilir. Listenin değerleri varsayılan olarak dizeler olarak ele alınacaktır. Değer bir System.IO.FileInfo nesnesiyse ikili dosya içerikleri gönderilir. İç içe geçmiş koleksiyonlar desteklenmez.

$Form=@{ tags='Tatil', 'İtalya', '2017' resimler=Get-ChildItem 'c:\Users\jdoe\Pictures\2017-Italy' }

Yukarıdaki örnekte, tags alanı formda üç kez sağlanacaktır; Vacation, İtalya ve 'in her biri için birer kez. 2017. resimler alanı da 2017-İtalya klasöründeki her dosya için bir kez gönderilecektir. Bu klasördeki dosyaların ikili içerikleri değer olarak gönderilecektir.

Bu özellik PowerShell 6.1.0'da eklenmiştir.

Tip :

Sözlük

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Headers

Web isteğinin başlıklarını belirtir. Bir karma tablosu veya sözlüğü girin.

Body için bir MultipartFormDataContent nesnesi sağlandığında, Content-Type gibi içerikle ilgili üstbilgiler geçersiz kılınır.

PowerShell 7.4'ten başlayarak, Content-Type başlığını tanımlamak için bu parametreyi kullanırsanız ve ContentType parametresini kullanırsanız, ContentType parametresinde belirtilen değer kullanılır.

Tip :

Sözlük

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-HttpVersion

İstek için kullanılan HTTP sürümünü belirtir. Varsayılan 1.1'dir.

Geçerli değerler şunlardır:

  • 1.0
  • 1.1
  • 2.0
  • 3.0
Tip :

Sürüm

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-InFile

Web isteğinin içeriğini bir dosyadan alır.

Bir yol ve dosya adı girin. Yolu atlarsanız varsayılan konum geçerli konumdur.

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-MaximumFollowRelLink

FollowRelLink kullanılırsa ilişki bağlantılarının kaç kez izleneceğini belirtir. REST API'nin çok fazla istek nedeniyle kısılması durumunda daha küçük bir değere ihtiyaç duyulabilir. Varsayılan değer [Int32]::MaxValue'dur. 0 (sıfır) değeri ilişki bağlantılarının izlenmesini engeller.

Tip :

Int32

Takma adlar:

ML

Konum:

Adlandırılmış

Varsayılan değer:

Int32.MaxValue

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-MaximumRedirection

Bağlantı başarısız olmadan önce PowerShell'in bir bağlantıyı alternatif bir Tekdüzen Kaynak Tanımlayıcısına (URI) kaç kez yönlendireceğini belirtir. Varsayılan değer 5'tir. 0 (sıfır) değeri tüm yeniden yönlendirmeleri engeller.

Tip :

Int32

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-MaximumRetryCount

400 ile 599 (dahil) arasında veya 304 arasında bir hata kodu alındığında PowerShell'in bağlantıyı kaç kez yeniden denediğini belirtir. Ayrıca, yeniden denemeler arasındaki saniye sayısını belirtmek için RetryIntervalSec parametresine bakın.

Tip :

Int32

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Method

Web isteği için kullanılan yöntemi belirtir. Bu parametre için kabul edilebilir değerler şunlardır:

    Default
    Delete
    Get
    Head
    Merge
    Options
    Patch
    Post
    Put
    Trace

CustomMethod parametresi yukarıda listelenmeyen İstek Yöntemleri için kullanılabilir.

Tip :

WebİstekYöntemi

Kabul edilen değerler:

Varsayılan, Al, Başlık, Gönder, Koy, Sil, İzle, Seçenekler, Birleştir, Yama

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-NoProxy

Cmdlet'in hedefe ulaşmak için proxy kullanmayacağını belirtir.

Internet Explorer'da yapılandırılan proxy'yi veya ortamda belirtilen bir proxy'yi atlamanız gerektiğinde bu anahtarı kullanın.

Bu parametre PowerShell 6,0'da tanıtıldı.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

True

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-OperationTimeoutSeconds

Bu zaman aşımı, bir bütün olarak akış süresi için değil, bir akış içinde okunan veriler için geçerlidir. Varsayılan değer olan 0, süresiz bir zaman aşımını belirtir.

Değerin 30 saniyeye ayarlanması, akıştaki veriler arasındaki 30 saniyeden uzun herhangi bir gecikmenin isteği sonlandıracağı anlamına gelir. İndirilmesi birkaç dakika süren büyük bir dosya, akış 30 saniyeden fazla durmadığı sürece sonlandırılmaz.

Tip :

Int32

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-OutFile

Varsayılan olarak Invoke-RestMethod, sonuçları ardışık düzene döndürür. OutFile parametresini kullandığınızda, sonuçlar belirtilen dosyaya kaydedilir ve ardışık düzene döndürülmez. Bir yol ve dosya adı girin. Sonuçları bir dosyaya ve ardışık düzene göndermek için Geçit parametresini ekleyin.

Yolu atlarsanız varsayılan konum geçerli konumdur. Ad, gerçek bir yol olarak kabul edilir. Parantez ([]) içeren adlar tek tırnak (') içine alınmalıdır.

PowerShell 7,4'ten itibaren dosya adı olmadan bir klasör yolu belirtebilirsiniz. Bunu yaptığınızda komut, herhangi bir yeniden yönlendirmeden sonra çözümlenen URI'nin son bölümündeki dosya adını kullanır. OutFile için bir klasör yolu belirttiğinizde Devam Et parametresini kullanamazsınız.

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-PassThru

Bu parametre yalnızca komutta OutFile parametresi de kullanıldığında geçerlidir. Amaç, sonuçların dosyaya ve boru hattına yazılmasını sağlamaktır.

Not

PassThru parametresini kullandığınızda çıktı, ardışık düzene yazılır ancak dosya oluşturulmaz. Bu, PowerShell 7.5-preview.4'te düzeltilmiştir. Daha fazla bilgi için bkz. PowerShell Sayı #15409.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

Çıkış yok

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-PreserveAuthorizationOnRedirect

Cmdlet'in, mevcut olduğunda yeniden yönlendirmeler boyunca Yetkilendirme üstbilgisini koruması gerektiğini belirtir.

Varsayılan olarak cmdlet, yeniden yönlendirmeden önce Yetkilendirme başlığını çıkarır. Bu parametrenin belirtilmesi, başlığın yeniden yönlendirme konumuna gönderilmesinin gerektiği durumlarda bu mantığı devre dışı bırakır.

Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-PreserveHttpMethodOnRedirect

Cmdlet'in, yeniden yönlendirmelerde isteğin yöntemini koruması gerektiğini belirtir.

Varsayılan olarak cmdlet, yeniden yönlendirildiğinde yöntemi GET olarak değiştirir. Bu parametrenin belirtilmesi, amaçlanan yöntemin yeniden yönlendirmeyle kullanılabilmesini sağlamak için bu mantığı devre dışı bırakır.

Bu özellik PowerShell 7.4'te eklenmiştir.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Proxy

İstek için doğrudan internet kaynağına bağlanmak yerine bir proxy sunucusu kullanır. Bir ağ proxy sunucusunun Tekdüzen Kaynak Tanımlayıcısını (URI) girin.

Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

Uri

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-ProxyCredential

Proxy parametresi tarafından belirtilen proxy sunucusunu kullanma iznine sahip bir kullanıcı hesabını belirtir. Varsayılan geçerli kullanıcıdır.

Kullanıcı01 veya EtkiAlanı01\Kullanıcı01, Kullanıcı@Alan.Com gibi bir kullanıcı adı yazın veya bir PSCredential kodu girin > Get-Credential cmdlet'i tarafından oluşturulan nesne gibi.

Bu parametre yalnızca komutta Proxy parametresi de kullanıldığında geçerlidir. ProxyCredential ve ProxyUseDefaultCredentials parametrelerini aynı komutta kullanamazsınız.

Tip :

PSC kimlik bilgisi

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-ProxyUseDefaultCredentials

Cmdlet'in, Proxy parametresi tarafından belirtilen proxy sunucusuna erişmek için geçerli kullanıcının kimlik bilgilerini kullandığını belirtir.

Bu parametre yalnızca komutta Proxy parametresi de kullanıldığında geçerlidir. ProxyCredential ve ProxyUseDefaultCredentials parametrelerini aynı komutta kullanamazsınız.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-ResponseHeadersVariable

Yanıt Üstbilgileri Sözlüğü içeren bir değişken oluşturur. Dolar işareti ($) simgesi olmayan bir değişken adı girin. Sözlüğün anahtarları, web sunucusu tarafından döndürülen Yanıt Başlığının alan adlarını ve değerlerini içerir.

Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

String

Takma adlar:

RHV

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Resume

Kısmi bir dosyayı indirmeye devam etmek için en iyi çabayı gösterir. Devam Et parametresi OutFile parametresini gerektirir.

Devam Et yalnızca yerel dosyanın ve uzak dosyanın boyutunda çalışır ve yerel dosya ile uzak dosyanın aynı olduğuna dair başka bir doğrulama gerçekleştirmez.

Yerel dosya boyutu uzak dosya boyutundan küçükse cmdlet dosyayı indirmeye devam etmeyi ve kalan baytları dosyanın sonuna eklemeyi deneyecektir.

Yerel dosya boyutu uzak dosya boyutuyla aynıysa hiçbir işlem yapılmaz ve cmdlet, indirme işleminin zaten tamamlandığını varsayar.

Yerel dosya boyutu uzak dosya boyutundan büyükse, yerel dosyanın üzerine yazılacak ve uzak dosyanın tamamı tamamen yeniden indirilecektir. Bu davranış, Devam Et olmadan OutFile'ı kullanmakla aynıdır.

Uzak sunucu indirme işleminin devam etmesini desteklemiyorsa yerel dosyanın üzerine yazılacak ve uzak dosyanın tamamı tamamen yeniden indirilecektir. Bu davranış, Devam Et olmadan OutFile'ı kullanmakla aynıdır.

Yerel dosya mevcut değilse, yerel dosya oluşturulacak ve uzak dosyanın tamamı tamamen indirilecektir. Bu davranış, Devam Et olmadan OutFile'ı kullanmakla aynıdır.

Bu özellik PowerShell 6.1.0'da eklenmiştir.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-RetryIntervalSec

400 ile 599 (dahil) arasında veya 304 arasında bir arıza kodu alındığında, bağlantı için yeniden denemeler arasındaki aralığı belirtir. Değer 1 ile [int]::MaxValue arasında olmalıdır. Hata kodu 429 olduğunda ve yanıt, başlıklarında Retry-After özelliğini içerdiğinde, cmdlet, bu parametre belirtilmiş olsa bile, yeniden deneme aralığı için bu değeri kullanır.

Ayrıca yeniden deneme sayısını belirtmek için MaximumRetryCount parametresine bakın.

Tip :

Int32

Konum:

Adlandırılmış

Varsayılan değer:

5

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-SessionVariable

Web isteği oturumunu içeren bir değişken oluşturur. Dolar işareti ($) simgesi olmayan bir değişken adı girin.

Bir oturum değişkeni belirttiğinizde Invoke-RestMethod bir web isteği oturumu nesnesi oluşturur ve bunu PowerShell oturumunuzda belirtilen ada sahip bir değişkene atar. Komut tamamlanır tamamlanmaz değişkeni oturumunuzda kullanabilirsiniz.

PowerShell 7,4'ten önce web isteği oturumu kalıcı bir bağlantı değildi. Çerezler, kimlik bilgileri, maksimum yeniden yönlendirme değeri ve kullanıcı aracısı dizesi dahil olmak üzere bağlantı ve istek hakkında bilgi içeren bir nesnedir. Web istekleri arasında durum ve verileri paylaşmak için kullanabilirsiniz.

PowerShell 7,4'ten başlayarak, web isteği oturumu, oturumun özellikleri sonraki bir istekte geçersiz kılınmadığı sürece kalıcıdır. Bunlar gerçekleştiğinde cmdlet, oturumu yeni değerlerle yeniden oluşturur. Kalıcı oturumlar, tekrarlanan isteklere ilişkin ek yükü azaltır ve bu isteklerin çok daha hızlı olmasını sağlar.

Web isteği oturumunu sonraki web isteklerinde kullanmak için WebSession parametresinin değerinde oturum değişkenini belirtin. PowerShell, yeni bağlantıyı kurarken web isteği oturumu nesnesindeki verileri kullanır. Web isteği oturumundaki bir değeri geçersiz kılmak için UserAgent veya Credential gibi bir cmdlet parametresi kullanın. Parametre değerleri, web isteği oturumundaki değerlere göre önceliklidir.

SessionVariable ve WebSession parametrelerini aynı komutta kullanamazsınız.

Tip :

String

Takma adlar:

SV

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-SkipCertificateCheck

Geçerlilik sonu, iptal, güvenilen kök yetkili vb. gibi tüm doğrulamaları içeren sertifika doğrulama kontrollerini atlar.

Uyarı

Bu parametrenin kullanılması güvenli değildir ve önerilmez. Bu anahtarın yalnızca test amacıyla kendinden imzalı bir sertifika kullanan bilinen ana bilgisayarlara karşı kullanılması amaçlanmıştır. Riski size ait olmak üzere kullanın.

Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-SkipHeaderValidation

Cmdlet'in isteğe doğrulama olmadan üstbilgi eklemesi gerektiğini belirtir.

Bu anahtar, standartlara uymayan başlık değerleri gerektiren siteler için kullanılmalıdır. Bu anahtarın belirtilmesi, değerin işaretlenmeden iletilmesine izin vermek için doğrulamayı devre dışı bırakır. Belirtildiğinde tüm başlıklar doğrulama yapılmadan eklenir.

Bu, ContentType, Headers ve UserAgent parametrelerine aktarılan değerlerin doğrulanmasını devre dışı bırakacaktır.

Bu özellik PowerShell 6.0.0'da eklenmiştir.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-SkipHttpErrorCheck

Bu parametre, cmdlet'in HTTP hata durumlarını yoksaymasına ve yanıtları işlemeye devam etmesine neden olur. Hata yanıtları sanki başarılıymış gibi işlem hattına yazılır.

Bu parametre PowerShell 7'de tanıtıldı.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-SslProtocol

Web isteği için izin verilen SSL/TLS protokollerini ayarlar. Varsayılan olarak sistem tarafından desteklenen tüm SSL/TLS protokollerine izin verilir. SslProtocol uyumluluk amacıyla belirli protokollerle sınırlandırmaya olanak tanır.

Bu değerler bayrak tabanlı bir numaralandırma olarak tanımlanır. Bu parametreyi kullanarak birden çok bayrak ayarlamak için birden çok değeri bir araya getirebilirsiniz. Değerler, bir değerler dizisi veya bu değerlerin virgülle ayrılmış dizesi olarak SslProtocol parametresine aktarılabilir. Cmdlet, ikili VEYA işlemini kullanarak değerleri birleştirir. Değerleri bir dizi olarak iletmek en basit seçenektir ve aynı zamanda değerler üzerinde sekme tamamlamayı kullanmanıza da olanak tanır. Tüm platformlarda birden fazla değer sağlayamayabilirsiniz.

Not

Windows dışı platformlarda Tls veya Tls12 seçeneğini seçenek olarak sağlamak mümkün olmayabilir. Tls13 desteği tüm işletim sistemlerinde mevcut değildir ve işletim sistemi bazında doğrulanması gerekecektir.

Bu özellik PowerShell 6.0.0'a, Tls13 desteği ise PowerShell 7.1'e eklendi.

Tip :

WebSslProtokolü

Kabul edilen değerler:

Varsayılan, Tls, Tls11, Tls12, Tls13

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-StatusCodeVariable

İsteğin HTTP durum kodu sonucunu içeren bir değişken oluşturur. Dolar işareti ($) simgesi olmayan bir değişken adı girin.

Parametre, SkipHttpErrorCheck parametresiyle birlikte kullanıldığında başarı mesajlarını veya başarısızlık mesajlarını tanımlayabilir.

Parametrenin değişken adını -StatusCodeVariable "scv" gibi bir dize olarak girin.

Bu parametre PowerShell 7'de tanıtıldı.

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Token

İsteğe eklenecek OAuth veya Bearer jetonu. Belirli Kimlik Doğrulama seçenekleri için Jeton gereklidir. Bağımsız olarak kullanılamaz.

Token, belirteci içeren bir SecureString alır. Belirteci sağlamak için aşağıdakileri manuel olarak kullanın:

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

Bu parametre PowerShell 6,0'da tanıtıldı.

Tip :

SecureString

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-TransferEncoding

Aktarım kodlama HTTP yanıt başlığı için bir değer belirtir. Bu parametre için kabul edilebilir değerler şunlardır:

  • Parçalanmış
  • Kompres
  • Söndür
  • GZip
  • Kimlik
Tip :

String

Kabul edilen değerler:

parçalanmış, sıkıştır, söndür, gzip, kimlik

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-UnixSocket

Bağlanılacak Unix soketinin adını belirtir. Bu parametre Unix tabanlı sistemlerde ve Windows sürüm 1803 ve sonrasında desteklenir. Unix yuvalarının Windows desteği hakkında daha fazla bilgi için AF_UNIX ile Windows/WSL Birlikte Çalışma blog gönderisine bakın.

Bu parametre PowerShell 7.4'e eklenmiştir.

Tip :

UnixDomainSocketEndPoint

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Uri

Web isteğinin gönderildiği internet kaynağının Tekdüzen Kaynak Tanımlayıcısını (URI) belirtir. Bu parametre HTTP, HTTPS, FTP ve FILE değerlerini destekler.

Bu parametre gereklidir. Parametre adı (Uri) isteğe bağlıdır.

Tip :

Uri

Konum:

0

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-UseBasicParsing

Bu parametre kullanımdan kaldırıldı. PowerShell 6.0.0'dan itibaren tüm Web istekleri yalnızca temel ayrıştırmayı kullanır. Bu parametre yalnızca geriye dönük uyumluluk amacıyla eklenmiştir ve herhangi bir şekilde kullanılmasının cmdlet'in çalışması üzerinde hiçbir etkisi olmayacaktır.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-UseDefaultCredentials

Cmdlet'in web isteğini göndermek için geçerli kullanıcının kimlik bilgilerini kullandığını belirtir. Bu, Kimlik Doğrulama veya Kimlik Bilgileri ile birlikte kullanılamaz ve tüm platformlarda desteklenmeyebilir.

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-UserAgent

Web isteği için bir kullanıcı aracısı dizesini belirtir.

Varsayılan kullanıcı aracısı, her işletim sistemi ve platform için küçük değişikliklerle birlikte Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0'a benzer.

Bir web sitesini çoğu internet tarayıcısı tarafından kullanılan standart kullanıcı aracısı dizesiyle test etmek için PSUserAgent sınıfının Chrome, FireFox, InternetExplorer, Opera ve Safari gibi özelliklerini kullanın.

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-WebSession

Bir web isteği oturumunu belirtir. Dolar işareti ($) dahil olmak üzere değişken adını girin.

Web isteği oturumundaki bir değeri geçersiz kılmak için UserAgent veya Credential gibi bir cmdlet parametresi kullanın. Parametre değerleri, web isteği oturumundaki değerlere göre önceliklidir. Body için bir MultipartFormDataContent nesnesi sağlandığında, Content-Type gibi içerikle ilgili başlıklar da geçersiz kılınacaktır.

Uzak oturumun aksine, web isteği oturumu kalıcı bir bağlantı değildir. Çerezler, kimlik bilgileri, maksimum yeniden yönlendirme değeri ve kullanıcı aracısı dizesi dahil olmak üzere bağlantı ve istek hakkında bilgi içeren bir nesnedir. Web istekleri arasında durum ve verileri paylaşmak için kullanabilirsiniz.

Bir web isteği oturumu oluşturmak için Invoke-RestMethod komutunun SessionVariable parametresinin değerine dolar işareti olmadan bir değişken adı girin. Invoke-RestMethod oturumu oluşturur ve onu değişkene kaydeder. Sonraki komutlarda değişkeni WebSession parametresinin değeri olarak kullanın.

SessionVariable ve WebSession parametrelerini aynı komutta kullanamazsınız.

Tip :

WebİstekOturumu

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

Girişler

Nesne

Bir web isteğinin gövdesini bu cmdlet'e yönlendirebilirsiniz.

Çıkışlar

Int64

İstek bir tamsayı döndürdüğünde, bu cmdlet o tamsayıyı döndürür.

Dize

İstek bir dize döndürdüğünde, bu cmdlet o dizeyi döndürür.

XmlDocument

İstek geçerli XML döndürdüğünde, bu cmdlet bunu XmlDocument olarak döndürür.

PSObject

İstek JSON dizelerini döndürdüğünde bu cmdlet, verileri temsil eden bir PSObject döndürür.

Notlar

PowerShell, Invoke-RestMethod için aşağıdaki takma adları içerir:

  • Tüm platformlar:

      irm

Bazı özellikler her platformda mevcut olmayabilir.

.NET Core 3,1'deki değişiklikler nedeniyle PowerShell 7,0 ve üzeri, proxy yapılandırmasını belirlemek için HttpClient.DefaultProxy özelliğini kullanır.

Bu mülkün değeri, platformunuza bağlı olarak farklı kurallardır:

  • Windows için: Proxy yapılandırmasını ortam değişkenlerinden veya bunlar tanımlanmamışsa kullanıcının proxy ayarlarından okur.
  • MacOS için: Proxy yapılandırmasını ortam değişkenlerinden veya bunlar tanımlanmamışsa sistemin proxy ayarlarından okur.
  • Linux için: Ortam değişkenlerinden proxy yapılandırmasını okur veya bunların tanımlanmaması durumunda bu özellik, tüm adresleri atlayan yapılandırılmamış bir örneği başlatır.

Windows ve Unix tabanlı platformlarda DefaultProxy'nin başlatılması için kullanılan ortam değişkenleri şunlardır:

  • HTTP_PROXY: HTTP isteklerinde kullanılan proxy sunucusunun ana bilgisayar adı veya IP adresi.
  • HTTPS_PROXY: HTTPS isteklerinde kullanılan proxy sunucusunun ana bilgisayar adı veya IP adresi.
  • ALL_PROXY: HTTP_PROXY veya HTTPS_PROXY'nin tanımlanmaması durumunda HTTP ve HTTPS isteklerinde kullanılan proxy sunucusunun ana bilgisayar adı veya IP adresi.
  • NO_PROXY: proxy'den hariç tutulması gereken ana bilgisayar adlarının virgülle ayrılmış listesi.

PowerShell 7.4, Brotli sıkıştırma algoritması için destek ekledi.

İlgili makaleler