2016-07-27 6 views
0

Ich versuche, einen Prozess der Aktivierung von Konten zu automatisieren, indem Sie sich in E-Mail einloggen, ich habe es funktioniert, wenn ich nicht im Business-Netzwerk mit dem folgenden Code bin.Powershell starten IE in private und melden Sie sich auf Seite

$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()` 

Mein Problem ist, dass einmal an das Business-Netzwerk verbunden es SSO verwendet dann anmelden, damit ich nicht die Möglichkeit bekommen, in einem Benutzernamen und Passwort zu setzen. Um einen Benutzernamen und ein Passwort eingeben zu können, muss ich den IE im privaten Modus starten. Ich konnte IE mit dem Start-Prozess-Befehl privat starten, aber ich finde keine Möglichkeit, das Fenster auszuwählen, um den Benutzernamen und das Kennwort einzugeben.

Gibt es eine Möglichkeit, mit Powershell in einem privaten Browser auf der Website anmelden?

Antwort

1

Sie können ein Handle zum privaten IE bekommen, indem Sie es mit Start-Prozess starten, wie Sie es genannt haben.

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

Dann können Sie sich mit ihm verbinden, indem es zu finden -

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

Glückliches Scripting. :)

+0

besser 'Start-Prozess iexplore.exe -ArgumentList '-Private http: // bogus.bogus'' – DisplayName

Verwandte Themen