Invoke-WebRequest: memberikan kredensial proxy di PowerShell
Invoke-WebRequest memiliki parameter terpisah untuk kredensial proxy. Kredensial asal dan login browser yang berhasil bukan penggantinya.
Untuk akun proxy eksplisit, teruskan objek kredensial ke -ProxyCredential:
$proxyAccount = Get-Credential
Invoke-WebRequest -Uri https://example.com/ -Proxy http://proxy.example:8080 -ProxyCredential $proxyAccountGanti titik akhir dengan layanan yang disetujui. Get-Credential meminta akun alih-alih menyematkan kata sandi di baris perintah. Akun ini masuk ke perantara; kredensial tujuan adalah parameter terpisah dan tidak dapat menjawab 407 dari proxy.
Jika skema autentikasi proxy dan identitas proses mendukung autentikasi terintegrasi, pilih -ProxyUseDefaultCredentials. Jangan gabungkan dengan kredensial proxy eksplisit dalam permintaan yang sama.
Periksa referensi untuk versi PowerShell yang menjalankan skrip. Windows PowerShell dan PowerShell modern berbeda dalam implementasi dan ketersediaan parameter; versi yang didukung juga menyediakan -NoProxy untuk permintaan langsung eksplisit.
Saat skrip yang sama berperilaku berbeda sebagai tugas
Periksa entri $PSDefaultParameterValues yang relevan dan konfigurasi proxy yang didukung proses. Profil dapat menambahkan saat sesi dimulai default proxy khusus perintah. Tugas terjadwal dapat melewati profil itu dan berjalan dengan identitas lain, meskipun berkas skrip tidak berubah.
Bandingkan URL tujuan, titik akhir yang dipilih, metode proxy yang diperlukan, versi PowerShell, serta kredensial eksplisit versus default, dengan menyamarkan rahasia. Jika autentikasi proxy berhasil dan tujuan mengembalikan 401, selidiki login tujuan itu alih-alih memindahkan kata sandi proxy ke parameter kredensial asal.