À partir de PowerShell 3.0, PSDefaultParameterValues peut fournir des valeurs de proxy par défaut pour les appels web répétés :

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

Ces affectations conservent les valeurs par défaut non concernées du dictionnaire. Un paramètre Proxy explicite a priorité sur la valeur par défaut correspondante. Gardez les clés propres à la commande au lieu de cibler tous les paramètres de nom similaire avec un wildcard. Pour une session distincte sur un site public où des intermédiaires publics sont autorisés, ne choisissez un candidat dans la liste de proxy HTTP que si aucune valeur par défaut ProxyCredential ou ProxyUseDefaultCredentials ni aucun identifiant de proxy explicite n'est défini.

Si le proxy utilise l'identité Windows actuelle, ajoutez les valeurs par défaut correspondantes :

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

Placez les entrées choisies dans le profil approprié lorsque de futures sessions interactives doivent les recevoir. Pour un autre réseau, remplacez leurs valeurs ou supprimez les entrées propres à cette configuration :

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

La suppression rétablit la sélection normale des paramètres. La cmdlet peut toujours utiliser sa configuration système ou d'environnement prise en charge ; supprimer une valeur par défaut ne demande pas explicitement une connexion directe.

Articles similaires