A partir do PowerShell 3.0, PSDefaultParameterValues pode fornecer padrões de proxy para chamadas web repetidas:

$PSDefaultParameterValues['Invoke-WebRequest:Proxy'] = 'http://proxy.example:8080'
$PSDefaultParameterValues['Invoke-RestMethod:Proxy'] = 'http://proxy.example:8080'

Essas atribuições preservam os padrões não relacionados no dicionário. Um parâmetro Proxy explícito substitui o padrão correspondente. Mantenha as chaves específicas do comando em vez de corresponder todos os parâmetros de nome semelhante com um wildcard. Para uma sessão separada de site público em que intermediários públicos são permitidos, escolha um candidato da lista de proxy HTTP apenas quando não houver padrões ProxyCredential ou ProxyUseDefaultCredentials nem credenciais de proxy explícitas definidas.

Se o proxy usar a identidade atual do Windows, adicione os padrões correspondentes:

$PSDefaultParameterValues['Invoke-WebRequest:ProxyUseDefaultCredentials'] = $true
$PSDefaultParameterValues['Invoke-RestMethod:ProxyUseDefaultCredentials'] = $true

Coloque as entradas escolhidas no profile adequado quando sessões interativas futuras devem recebê-las. Para outra rede, substitua os valores ou remova as entradas pertencentes a esta configuração:

$PSDefaultParameterValues.Remove('Invoke-WebRequest:Proxy')
$PSDefaultParameterValues.Remove('Invoke-RestMethod:Proxy')
$PSDefaultParameterValues.Remove('Invoke-WebRequest:ProxyUseDefaultCredentials')
$PSDefaultParameterValues.Remove('Invoke-RestMethod:ProxyUseDefaultCredentials')

A remoção restaura a seleção normal de parâmetros. O cmdlet ainda pode usar a configuração de sistema ou de ambiente compatível; remover um padrão não solicita explicitamente uma conexão direta.

Artigos relacionados