PowerShell 2.0でWeb APIを利用する

PowerShellからREST APIを叩くときに便利なInvoke-WebRequestコマンドレット。だがしかし。
以前にConvertTo-JsonがPowerShell 3.0以降にしか提供されていないという記事を書きましたが、Invoke-WebRequestもPowerShell 2.0世代にはありません。

今回は.NETのAPIを使って最低限の機能を実現します。.NETでもWebクライアントの実装は色々あるので必要に応じて使い分けて下さい。

GETではReadストリームを、POSTやPUTではJSONデータを送信するため、Writeストリームを使ってJSONデータ(文字列)の送受信を行います。

GETリクエストを送る例はこんな感じ。この場合はJSON文字列が返ってきます。