![当 Edge 是使用 PowerShell 的默认浏览器时,如何在 IE 中打开新选项卡?](https://linux22.com/image/1540577/%E5%BD%93%20Edge%20%E6%98%AF%E4%BD%BF%E7%94%A8%20PowerShell%20%E7%9A%84%E9%BB%98%E8%AE%A4%E6%B5%8F%E8%A7%88%E5%99%A8%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%9C%A8%20IE%20%E4%B8%AD%E6%89%93%E5%BC%80%E6%96%B0%E9%80%89%E9%A1%B9%E5%8D%A1%EF%BC%9F.png)
参考这个脚本,当 Edge 是默认浏览器时,如何在 Windows 10 上使用 PowerShell 打开 IE 而不是 Edge?
答案1
我建议检查 IE 实例是否已启动。如果没有,请通过 COM 创建一个。否则,选择正在运行的 IE 的 Shell 窗口(这可能很困难)并在后台的新选项卡中打开您的 URL。
# Set BrowserNavConstants to open URL in new tab
# Full list of BrowserNavConstants: https://msdn.microsoft.com/en-us/library/aa768360.aspx
$navOpenInBackgroundTab = 0x1000;
$ie = $null
if (Get-Process iexplore -ea silentlycontinue | Where-Object {$_.MainWindowTitle -ne ""}) {
#Write-Output "IE is running"
$ie = (New-Object -COM "Shell.Application").Windows() | ? { $_.Name -eq "Internet Explorer" }
sleep -milliseconds 50
$ie.Navigate2("http://google.com", $navOpenInBackgroundTab);
} else {
$ie = New-Object -COM "InternetExplorer.Application"
sleep -milliseconds 50
$ie.visible=$true
$ie.Navigate("http://google.com");
}
# Cleanup
'ie' | ForEach-Object {Remove-Variable $_ -Force}