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]
_はオブジェクトであり、その静的メソッドの1つはGetDefaultProxy()
です。 select
は、すべての列から、私たちに興味のあるものを示しており、それがアドレスです。
最初にIE設定を取得します。アクティブな場合はプロキシ設定を使用します。
if($ 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