PowerShell脚本自行打开浏览器

时间:2015-02-12 17:49:47

标签: powershell browser cmdlet

以下代码是一个powerShell脚本,它发送POST请求并获取响应并将其存储到$response。当我尝试获取表单值并尝试将其存储到$wa时,它会自动打开浏览器。

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

如何让脚本不打开浏览器?

注意:它发送post请求,它返回一个带有get请求的同一个uri的重定向,并以一些我试图存储在变量中的表单值进行响应。

1 个答案:

答案 0 :(得分:3)

所以我发现Powershell使用计算机的默认浏览器解析器来解析HTML。这就是它打开浏览器的原因。 使用-UseBasicParsing属性可以使用powershell的HTML解析器。事实证明,Powershell的解析器至少不足以满足上述情况!