Invoke-WebRequest: fornire le credenziali proxy in PowerShell
Invoke-WebRequest ha parametri distinti per le credenziali proxy. Le credenziali di origine e l'accesso riuscito del browser non le sostituiscono.
Per un account proxy esplicito, passare un oggetto credenziali a -ProxyCredential:
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccountSostituire l'endpoint con il servizio approvato. Get-Credential chiede un account invece di incorporare una password nella riga di comando. Questo account va all'intermediario; le credenziali di destinazione sono un parametro separato e non possono rispondere a un 407 del proxy.
Se lo schema di autenticazione del proxy e l'identità del processo supportano l'autenticazione integrata, scegliere -ProxyUseDefaultCredentials. Non combinarlo con credenziali proxy esplicite nella stessa richiesta.
Controllare la documentazione per la versione di PowerShell che esegue lo script. Windows PowerShell e PowerShell moderno differiscono per implementazione e disponibilità dei parametri; le versioni supportate forniscono anche -NoProxy per una richiesta diretta esplicita.
Quando lo stesso script si comporta diversamente come attività
Esaminare le voci $PSDefaultParameterValues pertinenti e la configurazione proxy supportata dal processo. Un profilo può aggiungere all'avvio della sessione impostazioni proxy predefinite specifiche del comando. Un'attività pianificata può omettere quel profilo ed essere eseguita con un'altra identità, anche se il file dello script non cambia.
Confrontare URL di destinazione, endpoint scelto, metodo proxy richiesto, versione di PowerShell e credenziali esplicite rispetto a quelle predefinite, mantenendo i segreti oscurati. Se l'autenticazione proxy riesce e la destinazione restituisce 401, esaminare l'accesso a quella destinazione invece di spostare la password del proxy nel parametro delle credenziali di origine.