The following code is a powerShell script that sends POST request and gets response and store it to $response
. When I try to get the form value and try to store it to $wa
, it automatically opens up the browser.
$destination="https://adfs.somedomain.com/adfs/ls/";
$response = '';
$username = 'some username';
$password = 'some password';
$AuthMethod = 'FormsAuthentication';
$postParams = @{
destination="$destination";
flags='0';
forcedownlevel='0';
trusted='0'
UserName="$($username)";
Password="$($password)";
AuthMethod = "$($AuthMethod)";
isUtf8='1'
}
$url = "$($destination)?wa=wsignin1.0&wtrealm=urn:federation:cas"
$response = Invoke-WebRequest -uri $url -Method POST -body $postParams;
$wa = $response.InputFields.value[0];
How do I make the script NOT to open up the browser?
Note: It sends post request which returns a redirection to same uri with get request and respond with some form value which I am trying to store in a variable.
So I found out that Powershell uses computer's default browser's parser to parse HTML. That is why it opens up the browser. Using -UseBasicParsing attribute make use of powershell's HTML parser. And turns out Powershell's parser is not good enough for above case at least!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With