Invoke-WebRequest: fornecer credenciais de proxy no PowerShell
O Invoke-WebRequest tem parâmetros próprios para credenciais de proxy. As credenciais de origem e o login bem-sucedido do navegador não as substituem.
Para uma conta de proxy explícita, passe um objeto de credenciais para -ProxyCredential:
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccountSubstitua o ponto de extremidade pelo serviço aprovado. Get-Credential solicita uma conta em vez de incorporar uma senha na linha de comando. Essa conta vai para o intermediário; as credenciais de destino são um parâmetro separado e não podem responder a um 407 do proxy.
Se o esquema de autenticação do proxy e a identidade do processo suportarem autenticação integrada, escolha -ProxyUseDefaultCredentials. Não o combine com uma credencial de proxy explícita na mesma solicitação.
Consulte a referência da versão do PowerShell que executa o script. O Windows PowerShell e o PowerShell moderno diferem na implementação e na disponibilidade de parâmetros; as versões suportadas também oferecem -NoProxy para uma solicitação direta explícita.
Quando o mesmo script se comporta de forma diferente como tarefa
Inspecione as entradas relevantes de $PSDefaultParameterValues e a configuração de proxy suportada pelo processo. Um perfil pode adicionar no início da sessão padrões de proxy específicos do comando. Uma tarefa agendada pode ignorar esse perfil e ser executada com outra identidade, embora o arquivo do script não mude.
Compare a URL de destino, o ponto de extremidade escolhido, o método de proxy exigido, a versão do PowerShell e as credenciais explícitas versus as padrão, mantendo os segredos ocultos. Se a autenticação do proxy funcionar e o destino retornar 401, investigue o login desse destino em vez de mover a senha do proxy para o parâmetro de credenciais de origem.