Как отключить или переопределить веб-прокси из скрипта Powershell без перезагрузки браузера? - PullRequest
0 голосов
/ 21 мая 2019

Я бы хотел перейти к IP-адресу в браузере из скрипта PowerShell, но это действие заблокировано веб-прокси.Я хотел бы найти способ избежать прокси, а также не изменять его конфигурацию после завершения работы со сценарием.

Таким образом, я попытался отключить веб-прокси перед запуском сценария и включением его.снова потом.Из этого источника http://learnpowershellwithme.blogspot.com/2017/07/enabledisable-proxy-settings-via.html я пробовал следующие коды:

Function Set-InternetProxy
{
    [CmdletBinding()]
    Param(

        [Parameter(Mandatory=$True,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
        [String[]]$Proxy,

        [Parameter(Mandatory=$False,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
        [AllowEmptyString()]
        [String[]]$acs

    )

    Begin
    {

            $regKey="HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

    }

    Process
    {

        Set-ItemProperty -path $regKey ProxyEnable -value 1

        Set-ItemProperty -path $regKey ProxyServer -value $proxy

        if($acs) 
        {            

                 Set-ItemProperty -path $regKey AutoConfigURL -Value $acs          
        }

    } 

    End
    {

        Write-Output "Proxy is now enabled"

        Write-Output "Proxy Server : $proxy"

        if ($acs)
        {

            Write-Output "Automatic Configuration Script : $acs"

        }
        else
        {

            Write-Output "Automatic Configuration Script : Not Defined"

        }
    }
}
Disable-InternetProxy 

Function Disable-InternetProxy
{
  Begin
    {

            $regKey="HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

    }

    Process
    {

        Set-ItemProperty -path $regKey ProxyEnable -value 0 -ErrorAction Stop

        Set-ItemProperty -path $regKey ProxyServer -value "" -ErrorAction Stop

        Set-ItemProperty -path $regKey AutoConfigURL -Value "" -ErrorAction Stop          

    } 

    End
    {

        Write-Output "Proxy is now Disabled"

    }

}

Когда я вызываю функцию отключения, отключение прокси-сервера работает, только если я вручную закрываю и снова открываю браузер.Это проблематично для меня, так как я хочу, чтобы все было автоматизировано.Кроме того, когда я снова включаю прокси-сервер, сценарий автоматической настройки остается непроверенным.Вот как я пытаюсь повторно включить прокси:

Set-InternetProxy -Proxy https://myproxy/pac.pac -acs https://myproxy/pac.pac

Затем я попытался переопределить прокси, чтобы избежать этой проблемы, введя следующий код:

$regKey="HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
Set-ItemProperty -path $regKey ProxyOverride -value 'http://165.100.100.10/'

Однако этовсе еще не работает.Как я могу правильно избежать веб-прокси из моего скрипта?

...