Назад | Перейти на главную страницу

Получить адрес прокси-сервера в Интернете через PowerShell

Мне нужно получить адрес и порт прокси-сервера через PowerShell, поэтому я могу использовать Invoke-Webrequest -uri http://some-site.com -Proxy команда. Ожидаемый результат должен выглядеть так: http://proxy-server.com:port.

Есть ли функция PowerShell для получения адреса и порта прокси-сервера, чтобы мы могли использовать ее в сценарии?

Вот функция 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
        }
    }    
}

Надеюсь это поможет !

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

[System.Net.WebProxy] является объектом, и одним из его статических методов является GetDefaultProxy(). В select показывает нам из всех столбцов то, что нас интересует, и это адрес.

Сначала вы получаете настройки 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