【发布时间】:2012-07-16 02:39:51
【问题描述】:
我想用 PowerShell 自动化 InternetExplorer 以在我们的 Intranet 中打开一个站点(受信任的站点 | 保护模式:关闭)
当我执行我的代码时,IE 打开了 Intranet 站点,但对 $ie 对象的引用丢失了。
错误: 调用的对象已与其客户端断开连接。 (来自 HRESULT 的异常:0x80010108 (RPC_E_DISCONNECTED))
我该如何解决这个问题? (不能以管理员身份运行 IE)
$ie = New-Object -ComObject InternetExplorer.Application
$ie.visible = $true
$ie.Navigate($url)
$ie
我的解决方法,但不是很好:
& "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)
【问题讨论】:
-
我在打开 Intranet 站点时也面临丢失 'ie' 的问题。这个问题让我尝试使用管理员权限,这在我的情况下是可能的,并且可以接受。
-
我正在为此使用 BELT 模块(效果很好):belt.codeplex.com
-
初始脚本是否适用于外部网站,比如 google?它对我有用。
-
原始脚本在 Win 7 上对我有效,但在 Win 8.1 上无效,这可能是一个线索
-
这是一个不需要管理员的解决方法:stackoverflow.com/a/27127120/3196753
标签: internet-explorer powershell