Configuração de proxy no powershell

4

Estou tentando instalar o chocolate em uma janela atrás de um proxy:

@powershell -ExecutionPolicy unrestricted

No power shell estou executando

$wc=new-object net.webclient;
$wc.Proxy=new-object system.net.WebProxy('<myproxy-ip>:8012',$true);
$wc.Proxy.Credentials = new-object system.net.NetworkCredential('<myusername>','<mypass>');
iex ($wc.DownloadString('https://chocolatey.org/install.ps1'));

Eu recebo o seguinte erro

Exception calling "DownloadString" with "1" argument(s): "The remote server returned an error: (407) Proxy Authentication Required."
At line:1 char:1
+ iex ($wc.DownloadString('https://chocolatey.org/install.ps1'));
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : WebException

Eu uso o mesmo nome de usuário / senha que devo inserir quando estou iniciando o firefox / iexplorer (veja a imagem). Não há nome de usuário / senhas padrão configurados para o proxy, pois eu sempre devo inseri-los.

Maisdetalhes(usandoInspecionarelementonofirefoxemumajanelaprivada)

Cabeçalhosderesposta

Cache-Control:no-cacheConnection:closeContent-Length:813Content-Type:text/html;charset=utf-8Pragma:no-cacheProxy-Authenticate:BASICrealm="PROXY_INTERNET"
Proxy-Connection: close
Set-Cookie: BCSI-CS-dfaeac52a135c7c0=2; Path=/
    
por raisercostin 10.09.2015 / 16:14

3 respostas

0

Não é possível testá-lo (não tenho um proxy semelhante disponível para mim), então, na verdade, não tenho ideia se isso funcionará, mas aqui está algo que você pode tentar:

$wc = new-object net.webclient;
$proxyUri = new-object system.uri("http://<myproxy-ip>:8012");
$wc.Proxy = new-object system.net.WebProxy($proxyUri, $true);
$cachedCredentials = new-object system.net.CredentialCache;
$netCredential = new-object system.net.NetworkCredential("<myusername>", "<mypass>");

$cachedCredentials.Add($proxyUri, "Basic", $netCredential);

$wc.Proxy.Credentials = $cachedCredentials.GetCredential($proxyUri, "Basic");

iex ($wc.DownloadString("https://chocolatey.org/install.ps1"));

A intenção é usar um objeto CredentialCache para forçar as credenciais a usar o modo de autenticação "Básico".

    
por 10.09.2015 / 17:54
0

Veja o link

No powershell, defina a função

function Create-Proxy($proxyHost,$proxyPort,$proxyUsername,$proxyPassword){
    #$proxy = [System.Net.WebRequest]::GetSystemWebProxy()
    $proxyUrl = $proxyHost+":"+$proxyPort;
    Write-Host "proxy url [$proxyUrl]";
    $proxy = New-Object System.Net.WebProxy($proxyUrl, $true);
    $passwd = ConvertTo-SecureString $proxyPassword -AsPlainText -Force; ## Website credentials
    $proxy.Credentials = New-Object System.Management.Automation.PSCredential ($proxyUsername, $passwd);
    return $proxy;
}

chame como

$wc=new-object net.webclient;
$wc.UseDefaultCredentials = $true
$wc.Proxy = Create-Proxy "<proxy-host>" "<proxy-port>" "<proxy-username>" "<proxy-clear-pass>"
$wc.DownloadString('https://chocolatey.org/install.ps1');

O que eu descobri é que o download real funcionou, mas a execução do instalador não, desde que ele usou um proxy construído sob encomenda.

Portanto, o iex ($wc.DownloadString("https://chocolatey.org/install.ps1")); falha porque a configuração do proxy inválido dentro do install.ps1 baixado

    
por 14.09.2015 / 13:22
0

Você pode usar isso. Trabalhou para mim. link

Configurações de proxy explícitas

O chocolatey tem suporte a proxy explícito a partir de 0.9.9.9.

Você pode simplesmente configurar 1 ou 3 configurações e o Chocolatey usará um servidor proxy. O proxy é obrigatório e é o local e a porta do servidor proxy. proxyUser e proxyPassword são opcionais. Os valores para usuário / senha são usados apenas para credenciais quando ambos estão presentes.

choco config set proxy <locationandport>
choco config set proxyUser <username>
choco config set proxyPassword <passwordThatGetsEncryptedInFile>

Exemplo

Executando os seguintes comandos no 0.9.9.9:

choco config set proxy http://localhost:8888
choco config set proxyUser bob
choco config set proxyPassword 123Sup#rSecur3
    
por 29.10.2016 / 19:05