【问题标题】:PowerShell - InternetExplorer: 0x80010108 (RPC_E_DISCONNECTED)PowerShell - InternetExplorer:0x80010108 (RPC_E_DISCONNECTED)
【发布时间】: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


【解决方案1】:

尝试以管理员身份运行 PowerShell。

【讨论】:

  • 我遇到了类似的问题,$ie 对象在调用 .Navigate 后似乎“消失”了。以管理员身份运行 PS 解决了该问题。不明显。
  • 以管理员身份运行脚本不是我们的选择。还有其他方法吗?
  • @Cilvic 我会说,不。但也许这是你可以在计划任务中尝试的东西?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
相关资源
最近更新 更多