Para unha conta de proxy explícita, pase un obxecto de credenciais a -ProxyCredential:

$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccount

Substitúa o punto final polo servizo aprobado. Get-Credential solicita unha conta en lugar de incrustar un contrasinal na liña de comandos. Esta conta vai ao intermediario; as credenciais de destino son un parámetro aparte e non poden responder a un 407 do proxy.

Se o esquema de autenticación do proxy e a identidade do proceso admiten autenticación integrada, elixa -ProxyUseDefaultCredentials. Non o combine cunha credencial de proxy explícita na mesma solicitude.

Consulte a referencia da versión de PowerShell que executa o script. Windows PowerShell e o PowerShell moderno difiren en implementación e dispoñibilidade de parámetros; as versións admitidas tamén ofrecen -NoProxy para unha solicitude directa explícita.

Cando o mesmo script se comporta distinto como tarefa

Inspeccione as entradas relevantes de $PSDefaultParameterValues e a configuración de proxy que admite o proceso. Un perfil pode engadir ao iniciar a sesión valores predeterminados de proxy específicos dun comando. Unha tarefa programada pode omitir ese perfil e executarse cunha identidade distinta, aínda que o ficheiro do script non cambie.

Compare o URL de destino, o punto final elixido, o método de proxy requirido, a versión de PowerShell e as credenciais explícitas fronte ás predeterminadas, mantendo os segredos ocultos. Se a autenticación do proxy funciona e o destino devolve 401, investigue ese inicio de sesión de destino en lugar de mover o contrasinal do proxy ao parámetro de credenciais de orixe.

Artigos relacionados