PowerShellでフォーム認証Webアプリのログイン後セッションを使いまわす

PowerShellでフォーム認証のWebアプリケーションにログインし、そのセッションを利用していろいろな操作をする方法。

詳細者こちらのMicrosoftのページ

$loginURLにはログインフォームのあるページのURLを代入しておく。

フォームのあるページのソースコードを表示して、ユーザ名、パスワードそれぞれの入力欄のnameプロパティを調べておく。
ここではそれぞれ「username」「password」だと仮定する。

-SessionVariableで「ss」と指定しているので、セッションは$ssという変数に格納される。


$ret = Invoke-WebRequest $loginURL -SessionVariable ss
$form = $ret.Forms[0]
$form.Fields["username"] = "yamada"
$form.Fields["password"] = "hogehoge"
$ret = Invoke-WebRequest $loginURL -WebSession $ss -Method Post -Body $form.Fields