次の方法で共有


Invoke-RestMethod

HTTP または HTTPS 要求を RESTful Web サービスに送信します。

構文

StandardMethod (既定)

Invoke-RestMethod
    [-Uri] <Uri>
    [-Method <WebRequestMethod>]
    [-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]
    [-TimeoutSec <Int32>]
    [-Headers <IDictionary>]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-RetryIntervalSec <Int32>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-ProxyUseDefaultCredentials]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [-PreserveAuthorizationOnRedirect]
    [-SkipHeaderValidation]
    [<CommonParameters>]

StandardMethodNoProxy

Invoke-RestMethod
    [-Uri] <Uri>
    -NoProxy
    [-Method <WebRequestMethod>]
    [-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]
    [-TimeoutSec <Int32>]
    [-Headers <IDictionary>]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-RetryIntervalSec <Int32>]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [-PreserveAuthorizationOnRedirect]
    [-SkipHeaderValidation]
    [<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]
    [-TimeoutSec <Int32>]
    [-Headers <IDictionary>]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-RetryIntervalSec <Int32>]
    [-Proxy <Uri>]
    [-ProxyCredential <PSCredential>]
    [-ProxyUseDefaultCredentials]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [-PreserveAuthorizationOnRedirect]
    [-SkipHeaderValidation]
    [<CommonParameters>]

CustomMethodNoProxy

Invoke-RestMethod
    [-Uri] <Uri>
    -CustomMethod <String>
    -NoProxy
    [-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]
    [-TimeoutSec <Int32>]
    [-Headers <IDictionary>]
    [-MaximumRedirection <Int32>]
    [-MaximumRetryCount <Int32>]
    [-RetryIntervalSec <Int32>]
    [-Body <Object>]
    [-Form <IDictionary>]
    [-ContentType <String>]
    [-TransferEncoding <String>]
    [-InFile <String>]
    [-OutFile <String>]
    [-PassThru]
    [-Resume]
    [-SkipHttpErrorCheck]
    [-PreserveAuthorizationOnRedirect]
    [-SkipHeaderValidation]
    [<CommonParameters>]

説明

Invoke-RestMethod コマンドレットは、高度に構造化されたデータを返す Representational State Transfer (REST) Web サービスに HTTP 要求と HTTPS 要求を送信します。

PowerShell は、データ型に基づいて応答を書式設定します。 RSS または ATOM フィードの場合、PowerShell はアイテムまたはエントリ XML ノードを返します。 JavaScript Object Notation (JSON) または XML の場合、PowerShell はコンテンツを [PSCustomObject] オブジェクトに変換または逆シリアル化します。

REST エンドポイントが複数のオブジェクトを返すと、オブジェクトは配列として受け取ります。 出力を Invoke-RestMethod から別のコマンドにパイプすると、1 つの [Object[]] オブジェクトとして送信されます。 その配列の内容は、パイプラインの次のコマンドには列挙されません。

このコマンドレットは、Windows PowerShell 3.0 で導入されています。

PowerShell 7.0 以降では、Invoke-RestMethod は環境変数によって定義されたプロキシ構成をサポートしています。 この記事の ノート セクションを参照してください。

例 1: PowerShell RSS フィードを取得する

この例では、Invoke-RestMethod コマンドレットを使用して、PowerShell ブログ RSS フィードから情報を取得します。 このコマンドでは、Format-Table コマンドレットを使用して、各ブログの Title および pubDate プロパティの値をテーブルに表示します。

Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/ |
  Format-Table -Property Title, pubDate
Title                                                                pubDate
-----                                                                -------
Join the PowerShell 10th Anniversary Celebration!                    Tue, 08 Nov 2016 23:00:04 +0000
DSC Resource Kit November 2016 Release                               Thu, 03 Nov 2016 00:19:07 +0000
PSScriptAnalyzer Community Call - Oct 18, 2016                       Thu, 13 Oct 2016 17:52:35 +0000
New Home for In-Box DSC Resources                                    Sat, 08 Oct 2016 07:13:10 +0000
New Social Features on Gallery                                       Fri, 30 Sep 2016 23:04:34 +0000
PowerShellGet and PackageManagement in PowerShell Gallery and GitHub Thu, 29 Sep 2016 22:21:42 +0000
PowerShell Security at DerbyCon                                      Wed, 28 Sep 2016 01:13:19 +0000
DSC Resource Kit September Release                                   Thu, 22 Sep 2016 00:25:37 +0000
PowerShell DSC and implicit remoting broken in KB3176934             Tue, 23 Aug 2016 15:07:50 +0000
PowerShell on Linux and Open Source!                                 Thu, 18 Aug 2016 15:32:02 +0000

例 2: POST 要求を実行する

この例では、ユーザーは Invoke-RestMethod を実行して、ユーザーの組織内のイントラネット Web サイトで POST 要求を実行します。

$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

資格情報の入力が求められ、 $Cred に保存され、アクセスされる URL が $Url で定義されます。

$Body 変数は検索条件を記述し、CSV を出力モードとして指定し、2 日前に開始して 1 日前に終了する返されるデータの期間を指定します。 body 変数は、Invoke-RestMethod が通信している特定の REST API に適用されるパラメーターの値を指定します。

Invoke-RestMethod コマンドは、結果の CSV 出力ファイルのパスとファイル名を指定して、すべての変数を配置して実行されます。

例 3: 関係リンクに従う

一部の REST API では、RFC5988ごとの Relation Links による改ページがサポートされています。 ヘッダーを解析して次のページの URL を取得する代わりに、コマンドレットでこれを行うことができます。 この例では、PowerShell GitHub リポジトリから最初の 2 ページの問題を返します。

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

例 4: 簡素化されたマルチパート/フォーム データ送信

一部の API では、ファイルと混合コンテンツをアップロードするために multipart/form-data 送信が必要です。 この例では、ユーザーのプロファイルを更新する方法を示します。

$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

プロファイル フォームには、firstNamelastNameemailavatarbirthday、および hobbiesの各フィールドが必要です。 API では、ユーザー プロファイルの画像が avatar フィールドに提供されることを想定しています。 API は、同じフォームで送信する複数の hobbies エントリーも受け入れます。

$Form HashTable を作成するときに、キー名がフォーム フィールド名として使用されます。 デフォルトでは、HashTable の値は文字列に変換されます。 System.IO.FileInfo値が存在する場合は、ファイルの内容が送信されます。 配列やリストなどのコレクションが存在する場合、フォームフィールドは複数回送信されます。

avatarキーでGet-Itemを使用すると、FileInfoオブジェクトが値として設定されます。 その結果、 jdoe.png の画像データが送信されます。

hobbies キーにリストを指定すると、hobbies フィールドはリスト アイテムごとに 1 回ずつ送信に表示されます。

例 5: 複数のヘッダーを渡す

API では、多くの場合、認証または検証に渡されたヘッダーが必要です。 この例では、hash-table から REST API に複数のヘッダーを渡す方法を示します。

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

例 6: パイプラインで返された項目を列挙する

GitHub は複数のオブジェクトを配列として返します。 出力を別のコマンドにパイプすると、1 つの [Object[]]オブジェクトとして送信されます。

パイプラインにオブジェクトを列挙するには、結果を Write-Output にパイプするか、コマンドレットを括弧で囲みます。 次の例では、GitHub によって返されるオブジェクトの数をカウントします。 次に、パイプラインに列挙されたオブジェクトの数をカウントします。

$uri = 'https://api.github.com/repos/microsoftdocs/powershell-docs/issues'
$x = 0
Invoke-RestMethod -Uri $uri | ForEach-Object { $x++ }
$x
1

$x = 0
(Invoke-RestMethod -Uri $uri) | ForEach-Object { $x++ }
$x
30

$x = 0
Invoke-RestMethod -Uri $uri | Write-Output | ForEach-Object { $x++ }
$x
30

例 7: ヘッダー検証のスキップ

既定では、 Invoke-RestMethod コマンドレットは、標準で定義された値形式を持つ既知のヘッダーの値を検証します。 次の例は、この検証でエラーが発生する方法と、SkipHeaderValidation パラメーターを使用して、無効に書式設定された値を許容するエンドポイントの値の検証を回避する方法を示しています。

$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 要求と応答に関する情報を返すサービスです。 $Uri 変数はサービスの /headers エンドポイントに割り当てられ、要求のヘッダーが応答の内容として返されます。

If-Match 要求ヘッダーは RFC-7232 セクション 3.1 定義されており、そのヘッダーの値を周囲の引用符で定義する必要があります。 $InvalidHeaders 変数には、If-Matchではなく 12345 として定義されているため、"12345" の値が無効なハッシュ テーブルが割り当てられます。

無効なヘッダーで Invoke-RestMethod を呼び出すと、書式設定された値が無効であることを報告するエラーが返されます。 要求はエンドポイントに送信されません。

Invoke-RestMethod パラメーターを使用して を呼び出すと、検証エラーが無視され、エンドポイントに要求が送信されます。 エンドポイントは準拠していないヘッダー値を許容するため、コマンドレットはエラーなしで応答オブジェクトを返します。

例 8: HTTP 2.0 を使用して要求を送信する

この例では、HTTP 2.0 プロトコルを使用して GitHub の問題を照会します。

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

パラメーター

-AllowUnencryptedAuthentication

暗号化されていない接続を介した資格情報とシークレットの送信を許可します。 既定では、 で始まらない UriCredential または https:// オプションを指定すると、エラーが発生し、暗号化されていない接続を介してプレーン テキストでシークレットが意図せずに通信されるのを防ぐために、要求が中止されます。 自己責任でこの動作をオーバーライドするには、AllowUnencryptedAuthentication パラメーターを指定します。

Warnung

このパラメーターの使用は安全ではないため、推奨されません。 これは、暗号化された接続を提供できないレガシーシステムとの互換性のためにのみ提供されます。 ご自身の責任で使用してください。

この機能は PowerShell 6.0.0 で追加されました。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Authentication

要求に使用する明示的な認証の種類を指定します。 既定値は [なし] です。 Authentication パラメーターは、UseDefaultCredentials パラメーターでは使用できません。

使用可能な認証オプション:

  • None: これは、 認証 が指定されていない場合のデフォルトオプションです。 明示的な認証は使用されません。
  • Basic: 資格情報が必要です。 資格情報は、RFC 7617 基本認証 Authorization: Basic ヘッダーを base64(user:password) の形式で送信するために使用されます。
  • Bearer: Token パラメーターが必要です。 指定されたトークンを使用して RFC 6750 Authorization: Bearer ヘッダーを送信します。
  • OAuth: Token パラメーターが必要です。 指定されたトークンを使用して RFC 6750 Authorization: Bearer ヘッダーを送信します。

[認証] を指定すると、Authorization に指定または WebSession に含まれている ヘッダーがオーバーライドされます。

この機能は PowerShell 6.0.0 で追加されました。

パラメーターのプロパティ

型:WebAuthenticationType
規定値:None
指定可能な値:None, Basic, Bearer, OAuth
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Body

要求の本文を指定します。 本文は、ヘッダーに続く要求の内容です。 本文の値を Invoke-RestMethod にパイプすることもできます。

Body パラメーターを使用して、クエリ パラメーターの一覧を指定したり、応答の内容を指定したりできます。

入力が POST 要求で、本文が 文字列の場合、最初の等号 (=) の左側の値がフォーム データのキーとして設定され、残りのテキストが値として設定されます。 複数のキーを指定するには、BodyIDictionary オブジェクト (ハッシュ テーブルなど) を使用します。

入力が GET 要求であり、本文が IDictionary (通常はハッシュ テーブル) である場合、本文はクエリ パラメーターとして URI に追加されます。 その他の要求の種類 (PATCH など) の場合、本文は標準の name=value 形式の要求本文の値として設定され、値は URL でエンコードされます。

入力が System.Xml.XmlNode オブジェクトであり、XML 宣言でエンコードが指定されている場合、そのエンコードは、ContentType パラメーターによってオーバーライドされない限り、要求内のデータに使用されます。

本文がフォームの場合、または別の Invoke-WebRequest 呼び出しの出力である場合、PowerShell は要求コンテンツをフォーム フィールドに設定します。

Body パラメーターは、System.Net.Http.MultipartFormDataContent オブジェクトを受け入れることもできます。 これにより、 multipart/form-data 要求が容易になります。 MultipartFormDataContent オブジェクトが Body に指定されると、ContentTypeHeaders、または WebSession パラメーターに指定されたコンテンツ関連ヘッダーは、MultipartFormDataContent オブジェクトのコンテンツ ヘッダーによってオーバーライドされます。 この機能は PowerShell 6.0.0 で追加されました。

パラメーターのプロパティ

型:Object
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:True
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Certificate

セキュア Web 要求に使用されるクライアント証明書を指定します。 証明書を含む変数、または証明書を取得するコマンドまたは式を入力します。

証明書を検索するには、Get-PfxCertificate を使用するか、証明書 (Get-ChildItem) ドライブの Cert: コマンドレットを使用します。 証明書が有効でない場合、または十分な権限を持っていない場合、コマンドは失敗します。

パラメーターのプロパティ

型:X509Certificate
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-CertificateThumbprint

要求を送信するアクセス許可を持つユーザー アカウントのデジタル公開キー証明書 (X509) を指定します。 証明書の拇印を入力します。

証明書は、クライアント証明書ベースの認証で使用されます。 証明書はローカル ユーザー アカウントにのみマップでき、ドメイン アカウントにはマップできません。

証明書の拇印を表示するには、Get-Item または Get-ChildItem コマンドを使用して、Cert:\CurrentUser\Myで証明書を検索します。

この機能は現在、Windows OS プラットフォームでのみサポートされています。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-ContentType

Web 要求のコンテンツ タイプを指定します。

ContentType の値にエンコード形式 (charset) が含まれている場合、コマンドレットはその形式を使用して Web 要求の本文をエンコードします。 ContentType でエンコード形式が指定されていない場合は、代わりに既定のエンコード形式が使用されます。 エンコード形式の ContentType の例として、text/plain; charset=iso-8859-5 アルファベットを指定する があります。

このパラメーターを省略し、要求メソッドが POST の場合、Invoke-RestMethod はコンテンツ タイプを application/x-www-form-urlencodedに設定します。 それ以外の場合、コンテンツ タイプは呼び出しで指定されません。

ContentType は、MultipartFormDataContent オブジェクトが指定されるとオーバーライドされます。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Credential

要求を送信するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

User01Domain01\User01などのユーザー名を入力するか、 コマンドレットによって生成された Get-Credential オブジェクトを入力します。

資格情報 は、単独で使用することも、特定の Authentication パラメーター オプションと組み合わせて使用することもできます。 単独で使用すると、リモート サーバーが認証チャレンジ要求を送信した場合にのみ、リモート サーバーに資格情報が提供されます。 認証オプションと一緒に使用すると、資格情報が明示的に送信されます。

資格情報は PSCredential オブジェクトに格納され、パスワードは SecureStringとして格納されます。

SecureString データ保護についての詳細は、「SecureString はどのくらい安全ですか? 」を参照してください。.

パラメーターのプロパティ

型:PSCredential
規定値:Current user
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-CustomMethod

Web 要求に使用するカスタム メソッドを指定します。 これは、エンドポイントで必要なリクエストメソッドで使用できますが、 メソッドでは使用できないオプションです。 MethodCustomMethod を一緒に使用することはできません。

例:

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

これにより、API に TEST HTTP 要求が行われます。

この機能は PowerShell 6.0.0 で追加されました。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:センチメートル

パラメーター セット

CustomMethodNoProxy
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
CustomMethod
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-DisableKeepAlive

コマンドレットが HTTP ヘッダーの KeepAlive 値を False に設定することを示します。 既定では、KeepAlive は True です。 KeepAlive は、後続の要求を容易にするために、サーバーへの永続的な接続を確立します。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

コマンドレットが関係リンクに従う必要があることを示します。

一部の REST API では、RFC5988ごとの Relation Links による改ページがサポートされています。 ヘッダーを解析して次のページの URL を取得する代わりに、コマンドレットでこれを行うことができます。 リレーション リンクに従う回数を設定するには、MaximumFollowRelLink パラメーター 使用します。

このスイッチを使用すると、コマンドレットは結果のページのコレクションを返します。 結果の各ページには、複数の結果項目が含まれる場合があります。

この機能は PowerShell 6.0.0 で追加されました。

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:フロリダ
(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Form

辞書を multipart/form-data の送信用に変換します。 フォーム は、Bodyでは使用できません。 ContentType は無視されます。

辞書のキーは、フォームフィールド名として使用されます。 デフォルトでは、フォーム値は文字列値に変換されます。

値が System.IO.FileInfo オブジェクトの場合、バイナリ ファイルの内容が送信されます。 ファイル名が filenameとして送信されます。 MIME は application/octet-stream として設定されます。 Get-Item を使用すると、System.IO.FileInfo オブジェクトの指定を簡略化できます。

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

値が Array や List などのコレクション型の場合、for フィールドは複数回送信されます。 リストの値は、デフォルトで文字列として扱われます。 値が System.IO.FileInfo オブジェクトの場合、バイナリ ファイルの内容が送信されます。 入れ子になったコレクションはサポートされていません。

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

上記の例では、 tags フィールドは、フォームに VacationItaly2017 のそれぞれに 1 回ずつ 3 回指定されます。 picturesフィールドも、2017-Italy フォルダー内のファイルごとに 1 回送信されます。 そのフォルダー内のファイルのバイナリ内容が値として送信されます。

この機能は、PowerShell 6.1.0 で追加されました。

パラメーターのプロパティ

型:IDictionary
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Headers

Web 要求のヘッダーを指定します。 ハッシュ テーブルまたはディクショナリを入力します。

Content-Type などのコンテンツ関連ヘッダーは、MultipartFormDataContent オブジェクトが指定されるとオーバーライドされます。

パラメーターのプロパティ

型:IDictionary
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-HttpVersion

要求に使用される HTTP バージョンを指定します。 既定値は 1.1です。

有効な値は次のとおりです。

  • 1.0
  • 1.1
  • 2.0
  • 3.0

パラメーターのプロパティ

型:Version
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-InFile

ファイルから Web 要求の内容を取得します。

パスとファイル名を入力します。 パスを省略した場合、既定値は現在の場所です。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

FollowRelLink が使用される場合に、関係リンクをたどる回数を指定します。 要求が多すぎるために REST API がスロットルされる場合は、より小さな値が必要になる場合があります。 既定値は [Int32]::MaxValue です。 値が 0 (ゼロ) の場合、次の関係リンクは使用できません。

型:Int32
規定値:Int32.MaxValue
ワイルドカードのサポート:False
DontShow:False
Aliases:ML
(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-MaximumRedirection

接続が失敗するまでに、PowerShell が代替 Uniform Resource Identifier (URI) に接続をリダイレクトする回数を指定します。 既定値は 5 です。 値が 0 (ゼロ) の場合、すべてのリダイレクトが禁止されます。

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-MaximumRetryCount

400 ~ 599 (304 を含む) のエラー コードを受信したときに、PowerShell が接続を再試行する回数を指定します。 また、再試行間隔の秒数を指定するには、 RetryIntervalSec パラメーターも参照してください。

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Method

Web 要求に使用するメソッドを指定します。 このパラメーターに使用できる値は次のとおりです。

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

CustomMethod パラメーターは、上記に記載されていない要求メソッドに使用できます。

パラメーターのプロパティ

型:WebRequestMethod
規定値:None
指定可能な値:Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

StandardMethod
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
StandardMethodNoProxy
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-NoProxy

コマンドレットが宛先に到達するためにプロキシを使用しないことを示します。

Internet Explorer で構成されたプロキシ、または環境で指定されたプロキシをバイパスする必要がある場合は、このスイッチを使用します。

このパラメーターは、PowerShell 6.0 で導入されました。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

StandardMethodNoProxy
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
CustomMethodNoProxy
配置:Named
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-OutFile

指定した出力ファイルに応答本文を保存します。 パスとファイル名を入力します。 パスを省略した場合、既定値は現在の場所です。 名前はリテラル パスとして処理されます。 角かっこ ([]) を含む名前は、単一引用符 (') で囲む必要があります。

既定では、Invoke-RestMethod は結果をパイプラインに返します。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-PassThru

このパラメーターは、OutFile パラメーターがコマンドでも使用されている場合にのみ有効です。 目的は、結果をファイルとパイプラインに書き込むという目的です。

PassThru パラメーターを使用すると、出力はパイプラインに書き込まれますが、ファイルは作成されません。 詳細については、「PowerShell の問題 #15409を参照してください。

パラメーターのプロパティ

型:SwitchParameter
規定値:No output
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-PreserveAuthorizationOnRedirect

コマンドレットがリダイレクト間で Authorization ヘッダー (存在する場合) を保持する必要があることを示します。

既定では、コマンドレットはリダイレクトする前に Authorization ヘッダーを削除します。 このパラメーターを指定すると、ヘッダーをリダイレクトの場所に送信する必要がある場合に、このロジックが無効になります。

この機能は PowerShell 6.0.0 で追加されました。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Proxy

インターネット リソースに直接接続するのではなく、要求にプロキシ サーバーを使用します。 ネットワーク プロキシ サーバーの URI (Uniform Resource Identifier) を入力します。

この機能は PowerShell 6.0.0 で追加されました。

パラメーターのプロパティ

型:Uri
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

StandardMethod
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
CustomMethod
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-ProxyCredential

Proxy パラメーターで指定されたプロキシ サーバーを使用するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。

User01User@Domain.Com などのユーザー名を入力するか、PSCredential コマンドレットによって生成されたオブジェクトなどのGet-Credentialオブジェクトを入力します。

このパラメーターは、Proxy パラメーターもコマンドで使用されている場合にのみ有効です。 ProxyCredentialProxyUseDefaultCredentials パラメーターを同じコマンドで使用することはできません。

パラメーターのプロパティ

型:PSCredential
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

StandardMethod
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
CustomMethod
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-ProxyUseDefaultCredentials

コマンドレットが現在のユーザーの資格情報を使用して、Proxy パラメーターで指定されたプロキシ サーバーにアクセスすることを示します。

このパラメーターは、Proxy パラメーターもコマンドで使用されている場合にのみ有効です。 ProxyCredentialProxyUseDefaultCredentials パラメーターを同じコマンドで使用することはできません。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

StandardMethod
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False
CustomMethod
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-ResponseHeadersVariable

応答ヘッダー ディクショナリを含む変数を作成します。 ドル記号 ($) 記号を使用せずに変数名を入力します。 ディクショナリのキーには、Web サーバーによって返される応答ヘッダーのフィールド名と値が含まれます。

この機能は PowerShell 6.0.0 で追加されました。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:RHV

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Resume

部分ファイルのダウンロードを再開するためのベスト エフォート試行を実行します。 Resume パラメーターには、OutFile パラメーターが必要です。

Resume は、ローカル ファイルとリモート ファイルのサイズに対してのみ動作し、ローカル ファイルとリモート ファイルが同じであるという他の検証は実行しません。

ローカル ファイル サイズがリモート ファイル サイズよりも小さい場合、コマンドレットはファイルのダウンロードを再開し、残りのバイトをファイルの末尾に追加しようとします。

ローカル ファイル サイズがリモート ファイル サイズと同じ場合、アクションは実行されません。コマンドレットはダウンロードが既に完了していることを前提としています。

ローカルファイルサイズがリモートファイルサイズより大きい場合、ローカルファイルは上書きされ、リモートファイル全体が完全に再ダウンロードされます。 この動作は、Resume を指定せずに OutFile を使用する場合と同じです。

リモート サーバーがダウンロードの再開をサポートしていない場合、ローカル ファイルは上書きされ、リモート ファイル全体が完全に再ダウンロードされます。 この動作は、Resume を指定せずに OutFile を使用する場合と同じです。

ローカルファイルが存在しない場合は、ローカルファイルが作成され、リモートファイル全体が完全にダウンロードされます。 この動作は、Resume を指定せずに OutFile を使用する場合と同じです。

この機能は、PowerShell 6.1.0 で追加されました。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-RetryIntervalSec

400 ~ 599 (304 を含む) のエラー コードを受信したときの接続の再試行間隔を指定します。 値は、1[int]::MaxValueの間である必要があります。

また、再試行回数を指定するには、MaximumRetryCount パラメーターを参照してください。

パラメーターのプロパティ

型:Int32
規定値:5
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SessionVariable

Web 要求セッションを含む変数を作成します。 ドル記号 ($) 記号を使用せずに変数名を入力します。

セッション変数を指定すると、Invoke-RestMethod Web 要求セッション オブジェクトが作成され、PowerShell セッションで指定した名前の変数に割り当てられます。 この変数は、コマンドが完了するとすぐにセッションで使用できます。

PowerShell 7.4 より前では、Web 要求セッションは永続的な接続ではありません。 これは、Cookie、資格情報、最大リダイレクト値、ユーザー エージェント文字列など、接続と要求に関する情報を含むオブジェクトです。 これを使用して、Web 要求間で状態とデータを共有できます。

PowerShell 7.4 以降では、後続の要求でセッションのプロパティがオーバーライドされない限り、Web 要求セッションは永続的です。 その場合、コマンドレットは新しい値を使用してセッションを再作成します。 永続的なセッションにより、要求の繰り返しのオーバーヘッドが軽減され、はるかに高速になります。

後続の Web 要求で Web 要求セッションを使用するには、WebSession パラメーターの値にセッション変数を指定します。 PowerShell では、新しい接続を確立するときに、Web 要求セッション オブジェクトのデータが使用されます。 Web 要求セッションの値をオーバーライドするには、UserAgent や資格情報 などのコマンドレット パラメーターを使用します。 パラメーター値は、Web 要求セッションの値よりも優先されます。

同じコマンドで SessionVariable パラメーターと WebSession パラメーターを使用することはできません。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False
Aliases:SV

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SkipCertificateCheck

有効期限、失効、信頼されたルート機関など、すべての検証を含む証明書検証チェックをスキップします。

Warnung

このパラメーターの使用は安全ではないため、推奨されません。 このスイッチは、テスト目的で自己署名証明書を使用して既知のホストに対してのみ使用することを目的としています。 ご自身の責任で使用してください。

この機能は PowerShell 6.0.0 で追加されました。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SkipHeaderValidation

コマンドレットが検証なしで要求にヘッダーを追加する必要があることを示します。

このスイッチは、標準に準拠していないヘッダー値を必要とするサイトに使用する必要があります。 このスイッチを指定すると、検証を無効にすることで、値を検証せずに渡すことができます。 指定すると、すべてのヘッダーが検証なしで追加されます。

これにより、 ContentTypeHeadersおよび UserAgent パラメーターに渡された値の検証が無効になります。

この機能は PowerShell 6.0.0 で追加されました。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SkipHttpErrorCheck

このパラメーターにより、コマンドレットは HTTP エラーの状態を無視し、応答の処理を続行します。 エラー応答は、成功したかのようにパイプラインに書き込まれます。

このパラメーターは PowerShell 7 で導入されました。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-SslProtocol

Web 要求に対して許容される SSL/TLS プロトコルを設定します。 既定では、システムでサポートされている SSL/TLS プロトコルはすべて許可されます。 sslProtocol では、コンプライアンスのために特定のプロトコルに制限できます。

これらの値は、フラグ ベースの列挙体として定義されます。 このパラメーターを使用して、複数の値を組み合わせて複数のフラグを設定できます。 値は、SslProtocol パラメーターに値の配列として、またはそれらの値のコンマ区切り文字列として渡すことができます。 コマンドレットは、バイナリ OR 操作を使用して値を結合します。 配列として値を渡すことは最も簡単なオプションであり、値にタブ補完を使用することもできます。 すべてのプラットフォームで複数の値を指定できない場合があります。

Windows 以外のプラットフォームでは、オプションとして Tls または Tls12 を提供できない場合があります。 Tls13のサポートはすべてのオペレーティングシステムで利用できるわけではなく、オペレーティングシステムごとに検証する必要があります。

この機能は PowerShell 6.0.0 で追加され、Tls13 のサポートは PowerShell 7.1 で追加されました。

パラメーターのプロパティ

型:WebSslProtocol
規定値:None
指定可能な値:Default, Tls, Tls11, Tls12, Tls13
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-StatusCodeVariable

要求の HTTP 状態コードの結果を含む変数を作成します。 ドル記号 ($) 記号を使用せずに変数名を入力します。

このパラメーターは、SkipHttpErrorCheck パラメーターと共に使用すると、成功メッセージまたは失敗メッセージを識別できます。

パラメーターの変数名を文字列 (-StatusCodeVariable "scv"など) として入力します。

このパラメーターは PowerShell 7 で導入されました。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-TimeoutSec

タイムアウトするまでの要求の保留期間を指定します。値を秒単位で入力します。 既定値の 0 は、無期限のタイムアウトを指定します。

ドメインネームシステム(DNS)クエリは、戻るかタイムアウトするまでに最大15秒かかる場合があります。要求に解決が必要なホスト名が含まれており、 TimeoutSec を 0 より大きく 15 秒未満の値に設定した場合、WebException がスローされるまでに 15 秒以上かかり、要求がタイムアウトになることがあります。

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Token

要求に含める OAuth またはベアラー トークン。 トークン は、特定の 認証 オプションで必要です。 個別に使用することはできません。

トークン は、トークンを含む SecureString を受け取ります。 トークンを指定するには、次のコマンドを手動で使用します。

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

このパラメーターは、PowerShell 6.0 で導入されました。

パラメーターのプロパティ

型:SecureString
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-TransferEncoding

転送エンコード HTTP 応答ヘッダーの値を指定します。 このパラメーターに使用できる値は次のとおりです。

  • チャンク化された
  • 圧縮する
  • 空気を抜く
  • GZip
  • アイデンティティ

パラメーターのプロパティ

型:String
規定値:None
指定可能な値:chunked, compress, deflate, gzip, identity
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-Uri

Web 要求の送信先となるインターネット リソースの URI (Uniform Resource Identifier) を指定します。 このパラメーターは、HTTP、HTTPS、FTP、および FILE の値をサポートします。

このパラメーターは必須です。 パラメーター名 (Uri) は省略可能です。

パラメーターのプロパティ

型:Uri
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:0
必須:True
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-UseBasicParsing

このパラメーターは非推奨になりました。 PowerShell 6.0.0 以降では、すべての Web 要求で基本的な解析のみが使用されます。 このパラメーターは下位互換性のためにのみ含まれており、このパラメーターを使用してもコマンドレットの操作には影響しません。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-UseDefaultCredentials

コマンドレットが現在のユーザーの資格情報を使用して Web 要求を送信することを示します。 これは、認証 または 資格情報 では使用できません。また、すべてのプラットフォームでサポートされているわけではありません。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-UserAgent

Web 要求のユーザー エージェント文字列を指定します。

既定のユーザー エージェントは、オペレーティング システムとプラットフォームごとに若干のバリエーションがある Mozilla/5.0 (Windows NT 10.0; Microsoft Windows 10.0.15063; en-US) PowerShell/6.0.0 に似ています。

ほとんどのインターネット ブラウザで使用される標準ユーザー エージェント文字列を使用して Web サイトをテストするには、Chrome、FireFox、InternetExplorer、Opera、Safari などの PSUserAgent クラスのプロパティを使用します。

パラメーターのプロパティ

型:String
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-WebSession

Web 要求セッションを指定します。 ドル記号 ($) を含む変数名を入力します。

Web 要求セッションの値をオーバーライドするには、UserAgent や資格情報 などのコマンドレット パラメーターを使用します。 パラメーター値は、Web 要求セッションの値よりも優先されます。 Content-Type などのコンテンツ関連のヘッダーも、MultipartFormDataContent オブジェクトが Body に指定されるとオーバーライドされます。

リモート セッションとは異なり、Web 要求セッションは永続的な接続ではありません。 これは、Cookie、資格情報、最大リダイレクト値、ユーザー エージェント文字列など、接続と要求に関する情報を含むオブジェクトです。 これを使用して、Web 要求間で状態とデータを共有できます。

Web 要求セッションを作成するには、 コマンドの Invoke-RestMethod パラメーターの値に、ドル記号なしで変数名を入力します。 Invoke-RestMethod セッションを作成し、変数に保存します。 後続のコマンドでは、変数を WebSession パラメーターの値として使用します。

同じコマンドで SessionVariable パラメーターと WebSession パラメーターを使用することはできません。

パラメーターのプロパティ

型:WebRequestSession
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

Object

Web 要求の本文をこのコマンドレットにパイプできます。

出力

Int64

要求から整数が返されると、このコマンドレットはその整数を返します。

String

要求が文字列を返すと、このコマンドレットはその文字列を返します。

XmlDocument

要求が有効な XML を返すと、このコマンドレットは xmlDocument として返します。

PSObject

要求から JSON 文字列が返されると、このコマンドレットはデータを表す PSObject を返します。

メモ

PowerShell には、Invoke-RestMethodの次のエイリアスが含まれています。

  • すべてのプラットフォーム:
    • irm

一部の機能は、すべてのプラットフォームで利用できない場合があります。

.NET Core 3.1 が変更されたため、PowerShell 7.0 以降では、HttpClient.DefaultProxy プロパティを使用してプロキシの構成を決定します。

このプロパティの値は、プラットフォームによって異なるルールです。

  • Windows の場合: 環境変数から、または定義されていない場合はユーザーのプロキシ設定からプロキシ構成を読み取ります。
  • macOSの場合: 環境変数から、または定義されていない場合はシステムのプロキシ設定からプロキシ構成を読み取ります。
  • Linux の場合: 環境変数からプロキシ構成を読み取るか、環境変数が定義されていない場合は、すべてのアドレスをバイパスする未構成のインスタンスを初期化します。

Windows および Unix ベースのプラットフォームでの DefaultProxy 初期化に使用される環境変数は次のとおりです。

  • HTTP_PROXY: HTTP 要求で使用されるプロキシ サーバーのホスト名または IP アドレス。
  • HTTPS_PROXY: HTTPS 要求で使用されるプロキシ サーバーのホスト名または IP アドレス。
  • ALL_PROXY: HTTP_PROXY または HTTPS_PROXY が定義されていない場合に、HTTP および HTTPS 要求で使用されるプロキシー・サーバーのホスト名または IP アドレス。
  • NO_PROXY: プロキシから除外する必要があるホスト名のコンマ区切りのリスト。