Powershell私有启动IE并登录到页面

时间:2016-07-27 20:34:44

标签: powershell internet-explorer

我试图通过登录电子邮件来自动激活帐户的过程,当我没有使用以下代码在商业网络上时,我可以使用它。

$username = "user" 
$password = "pass" 
$url = "url"

$ie = New-Object -com InternetExplorer.Application 
$ie.visible=$true
$ie.navigate($url) 

while ($ie.Busy -eq $true){Start-Sleep -seconds 1;}   

$usernamefield = $ie.Document.getElementByID('UsernameTextBox')
$usernamefield.value = $username

$passwordfield = $ie.Document.getElementByID('PasswordTextBox')
$passwordfield.value = $password

$ie.document.getElementById("ctl00_ContentPlaceHolder1_SubmitButton").click()`

我的问题是,一旦连接到业务网络,它就会使用SSO登录,因此我无法选择输入用户名和密码。为了能够输入用户名和密码,我需要以私人模式启动IE。我已经能够使用start-process命令私下启动IE,但是我找不到选择窗口来输入用户名和密码的方法。

有没有办法可以使用PowerShell在私人浏览器中登录网站?

1 个答案:

答案 0 :(得分:2)

您可以通过启动过程启动私有IE的句柄,如您所述。

Start-Process -FilePath "C:\Program Files (x86)\Internet Explorer\iexplore.exe" -ArgumentList ' -private http://bogus.bogus'

然后你可以通过找到它来连接它 -

$Shell = New-Object -Com Shell.Application
$apps = $shell.windows()
$ie = $apps | where { $_.locationname -eq 'http://bogus.bogus/' }

快乐的脚本。 :)