通过 PowerShell 检索互联网代理服务器地址

通过 PowerShell 检索互联网代理服务器地址

我必须通过 PowerShell 检索代理服务器地址和端口,以便使用该Invoke-Webrequest -uri http://some-site.com -Proxy命令。预期输出应如下所示http://proxy-server.com:端口

我有一个 PowerShell 函数可以检索代理服务器地址和端口,所以我们可以在脚本中使用它吗?

答案1

以下是实现我的目标的 PowerShell 函数:

function Get-InternetProxy
 { 
    <# 
            .SYNOPSIS 
                Determine the internet proxy address
            .DESCRIPTION
                This function allows you to determine the the internet proxy address used by your computer
            .EXAMPLE 
                Get-InternetProxy
            .Notes 
                Author : Antoine DELRUE 
                WebSite: http://obilan.be 
    #> 

    $proxies = (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyServer

    if ($proxies)
    {
        if ($proxies -ilike "*=*")
        {
            $proxies -replace "=","://" -split(';') | Select-Object -First 1
        }

        else
        {
            "http://" + $proxies
        }
    }    
}

在此处输入图片描述

希望这可以帮助 !

答案2

[System.Net.WebProxy]::GetDefaultProxy() | select address

[System.Net.WebProxy]是一个对象,它的一个静态方法是GetDefaultProxy()select为我们展示了所有列中我们感兴趣的内容,它是地址。

答案3

同一主机:

Get-ItemProperty -Path "Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

来源:https://www.mowasay.com/2016/08/windows-check-proxy-settings-from-powershell/

远程主机:

Invoke-Command -ComputerName Member01, Server01 {Get-ItemProperty -Path 'HKLM:\SOFTWARE\VMware, Inc.\VMware Tools\' -Name InstallPath | select InstallPath}

来源:http://vcloud-lab.com/entries/powershell/powershell-get-registry-value-data

答案4

首先获取 IE 设置。然后使用代理设置(如果已启用)。

如果 ($IESettings.ProxyEnable -eq 1)

$IESettings = Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings'
$Proxy = "http://$(($IESettings.ProxyServer.Split(';') | ? {$_ -match 'ttp='}) -replace '.*=')"
Invoke-WebRequest 'http://some-site.com' -ProxyUseDefaultCredentials -Proxy $Proxy

相关内容