Da PowerShell 3.0 in poi, PSDefaultParameterValues può fornire valori proxy predefiniti per le chiamate web ripetute:

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

Queste assegnazioni conservano i valori predefiniti non correlati nel dizionario. Un parametro Proxy esplicito ha la precedenza sul valore predefinito corrispondente. Mantenete le chiavi specifiche del comando invece di far corrispondere ogni parametro con nome simile tramite un wildcard. Per una sessione separata su un sito pubblico in cui sono ammessi intermediari pubblici, scegliete un candidato dall'elenco proxy HTTP solo se non sono impostati valori predefiniti ProxyCredential o ProxyUseDefaultCredentials né credenziali proxy esplicite.

Se il proxy usa l'identità Windows corrente, aggiungete i valori predefiniti corrispondenti:

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

Inserite le voci scelte nel profile appropriato quando le future sessioni interattive devono riceverle. Per una rete diversa, sostituitene i valori o rimuovete le voci di proprietà di questa configurazione:

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

La rimozione ripristina la normale selezione dei parametri. Il cmdlet può comunque usare la configurazione di sistema o di ambiente supportata; rimuovere un valore predefinito non richiede esplicitamente una connessione diretta.

Articoli correlati