2012-07-17 6 views
12

Ich möchte die Internetexplorer mit Powershell automatisieren eine Website in unserem Intranet zu öffnen (vertrauenswürdige Sites | geschützten Modus: off)Powershell - Internetexplorer: 0x80010108 (RPC_E_DISCONNECTED)

Wenn ich bin mein Code ausgeführt wird der IE öffnen Intranet-Site, aber die Referenz auf das $ ie-Objekt ist verloren.

Fehler: Das aufgerufene Objekt wurde von seinen Clients getrennt. (Ausnahme von HRESULT: 0x80010108 (RPC_E_DISCONNECTED))

Wie kann ich das beheben? (Run IE als Admin ist keine Option)

$ie = New-Object -ComObject InternetExplorer.Application 
$ie.visible = $true 
$ie.Navigate($url) 
$ie 

Mein Problem umgehen, aber nicht so gut:

& "C:\Program Files\Internet Explorer\iexplore.exe" $urls 
Start-Sleep 5 
$shell = New-Object -com Shell.Application 
$ie = @($shell.Application.Windows())| Where-Object { $_.LocationUrl -like "*$urls*" } 
$ie.Navigate($url2) 
+0

Ich sah auch mit dem Verlieren "ie" Problem beim Öffnen von Intranet-Sites. Diese Frage veranlasste mich, mit Administratorrechten zu versuchen, was in meinem Fall möglich und akzeptabel ist. – BuddhiP

+0

Ich benutze das BELT-Modul für dieses (es funktioniert wunderbar): http://belt.codeplex.com/ –

+0

Funktioniert das erste Skript für externe Websites, sagen Google? Für mich geht das. – Chriseyre2000

Antwort

4

Bitte versuchen Sie Powershell als Administrator ausführen und Ergebnisse berichten.

+1

Ich hatte ein ähnliches Problem, wo die $ ie Objekt schien nach dem Aufruf von .Navigate "zu verschwinden". Das Ausführen von PS als Administrator behebt das Problem. Nicht offensichtlich. –

+0

Ich bin froh, dass ich helfen konnte. –

+0

Das Ausführen des Skripts als Administrator ist für uns keine Option. Gibt es eine andere Art und Weise? – Cilvic