Pentru un cont de proxy explicit, transmiteți un obiect de acreditări către -ProxyCredential:

$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccount

Înlocuiți punctul final cu serviciul aprobat. Get-Credential cere un cont în loc să încorporeze o parolă în linia de comandă. Acest cont merge la intermediar; acreditările destinației sunt un parametru separat și nu pot răspunde la un 407 al proxy-ului.

Dacă schema de autentificare a proxy-ului și identitatea procesului acceptă autentificarea integrată, alegeți -ProxyUseDefaultCredentials. Nu îl combinați cu acreditări explicite de proxy în aceeași cerere.

Verificați referința pentru versiunea de PowerShell care rulează scriptul. Windows PowerShell și PowerShell modern diferă în implementare și în disponibilitatea parametrilor; versiunile acceptate oferă și -NoProxy pentru o cerere directă explicită.

Când același script se comportă diferit ca sarcină

Inspectați intrările $PSDefaultParameterValues relevante și configurația de proxy acceptată de proces. Un profil poate adăuga la începutul sesiunii valori implicite de proxy specifice comenzii. O sarcină planificată poate omite acel profil și rula cu altă identitate, chiar dacă fișierul scriptului este neschimbat.

Comparați URL-ul destinației, punctul final ales, metoda de proxy necesară, versiunea de PowerShell și acreditările explicite față de cele implicite, păstrând secretele mascate. Dacă autentificarea proxy-ului reușește și destinația returnează 401, investigați autentificarea la acea destinație în loc să mutați parola proxy-ului în parametrul de acreditări ale sursei.

Articole similare