Invoke-WebRequest : fournir des informations d'identification proxy dans PowerShell
Invoke-WebRequest dispose de paramètres distincts pour les informations d'identification proxy. Celles de l'origine et la connexion réussie du navigateur ne les remplacent pas.
Pour un compte proxy explicite, passez un objet d'informations d'identification à -ProxyCredential :
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccountRemplacez le point de terminaison par le service approuvé. Get-Credential demande un compte au lieu d'intégrer un mot de passe dans la ligne de commande. Ce compte va à l'intermédiaire ; les informations d'identification de destination sont un paramètre distinct et ne peuvent pas répondre à un 407 du proxy.
Si le schéma d'authentification du proxy et l'identité du processus prennent en charge l'authentification intégrée, choisissez plutôt -ProxyUseDefaultCredentials. Ne le combinez pas avec des informations d'identification proxy explicites dans la même requête.
Consultez la référence de la version de PowerShell qui exécute le script. Windows PowerShell et PowerShell moderne diffèrent par l'implémentation et la disponibilité des paramètres ; les versions prises en charge proposent aussi -NoProxy pour une requête directe explicite.
Quand le même script se comporte différemment en tant que tâche
Inspectez les entrées $PSDefaultParameterValues pertinentes et la configuration proxy prise en charge par le processus. Un profil peut ajouter au démarrage de la session des valeurs proxy par défaut propres à une commande. Une tâche planifiée peut omettre ce profil et s'exécuter sous une autre identité, même si le fichier de script est inchangé.
Comparez l'URL de destination, le point de terminaison choisi, la méthode proxy requise, la version de PowerShell et les informations d'identification explicites ou par défaut, en gardant les secrets masqués. Si l'authentification proxy réussit et que la destination renvoie 401, examinez la connexion à cette destination plutôt que de déplacer le mot de passe proxy dans le paramètre d'informations d'identification d'origine.