用PowerShell捕获当前IE游览器内的网址

几乎99%的人现在打开电脑都会打开游览器,也相信大家很多时候都会遇到过工作到一半或者有事要关电脑的时候,游览器打开了很多网址但是还没来得及看完,很多人会选择手动保存一个个网址,即便你把它保存进收藏夹里也依然很麻烦,太耗时了。这些网址毕竟是临时的,如果放进收藏夹还会把收藏夹弄乱。所以如果能有个方法可以瞬间导出当前所有的IE游览器内的网址就会十分方便。

如下我们用PowerShell写了一个简单的方法,读取所有当前所有的IE地址,稍后我会一行行做讲解下:

Function Get-IEURL
{
    $IEObjs = @()
    $ShellWindows = (New-Object -ComObject Shell.Application).Windows()

    Foreach($IE in $ShellWindows)
    {
        $FullName = $IE.FullName
        If($FullName -ne $NULL)
        {
            $FileName = Split-Path -Path $FullName -Leaf

            If($FileName.ToLower() -eq "iexplore.exe")
            {
                $Title = $IE.LocationName
                $URL = $IE.LocationURL
                $IEObj = New-Object -TypeName PSObject -Property @{Title = $Title; URL = $URL}
                $IEObjs += $IEObj
            }
        }
    }

    $IEObjs
}

Get-IEURL
运行后,会得到如下结果:

URL                    Title    
---                    -----    
https://www.baidu.com/ 百度一下,你就知道
http://www.qq.com/     腾讯首页     
对比下游览器中的数据与我们预期的一致:



下面我们来简单说明下实现原理,我发现进程管理器里的IE父进程里包含了多个子进程,每个子进程就是每个tab的相关信息。于是我打算获得当前的IE父进程,从中找出我们所需要获得信息。我使用如下方法新建一个对象,改方法可以获得当前所有应用程序的窗体对象:

$ShellWindows = (New-Object -ComObject Shell.Application).Windows()
我们接着通过如下循环遍历获得每个进程信息,只要窗体的全名等于iexplorer.exe,那这个就是我们要找的对象。

<strong>Foreach($IE in $ShellWindows)
{</strong>
    $FullName = $IE.FullName
    If($FullName -ne $NULL)
    {
        $FileName = Split-Path -Path $FullName -Leaf

        <strong>If($FileName.ToLower() -eq "iexplore.exe")
        {
    
        }</strong>
    }
<strong>}</strong>
找到我们的IE对象后,我们就可以直接获取内部信息了:

Foreach($IE in $ShellWindows)
{
    $FullName = $IE.FullName
    If($FullName -ne $NULL)
    {
        $FileName = Split-Path -Path $FullName -Leaf

        If($FileName.ToLower() -eq "iexplore.exe")
        {
            <strong>$Title = $IE.LocationName
            $URL = $IE.LocationURL</strong>
            $IEObj = New-Object -TypeName PSObject -Property @{Title = $Title; URL = $URL}
            $IEObjs += $IEObj
        }
    }
}
最后,把我们提取的属性信息放进我们自定义的对象里。



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值