Обычно, чтобы получить доступ к интерфейсу COM на существующем объекте, вы используете таблицу запущенных объектов. К сожалению, Internet Explorer не регистрируется в таблице запущенных объектов - но, тем не менее, это дает нам некоторые полезные результаты поиска Google.
Например, поиск в Google «бегущей таблицы объектов» «Internet Explorer» нашел меня Как подключиться к работающему экземпляру Internet Explorer , который предоставляет (VBScript?) Пример, демонстрирующий использование объекта ShellWindows.
Быстрый и грязный (без проверки ошибок!) Перевод этого примера в сценарий PowerShell дает нам:
$shellapp = New-Object -ComObject "Shell.Application"
$ShellWindows = $shellapp.Windows()
for ($i = 0; $i -lt $ShellWindows.Count; $i++)
{
if ($ShellWindows.Item($i).FullName -like "*iexplore.exe")
{
$ie = $ShellWindows.Item($i)
break
}
}
$ie.navigate2("http://stackoverflow.com")