Permintaan web yang berfungsi secara interaktif di server B dapat menerima 407 ketika perintah yang sama dijalankan di sana melalui PowerShell remoting. Login dari A ke B tidak secara otomatis mendelegasikan identitas tersebut untuk pertukaran autentikasi B berikutnya.

A → remoting session on B → HTTP proxy → website

Salah satu desain yang didukung adalah menyediakan akun proksi secara eksplisit untuk permintaan keluar. Dengan PSSession yang ada dan objek PSCredential yang diperoleh dengan tepat:

Invoke-Command -Session $session -ArgumentList $proxyCredential -ScriptBlock {
    param([pscredential]$outboundProxyCredential)

    $requestOptions = @{
        Uri = 'https://api.example/'
        Proxy = 'http://proxy.example:8080'
        ProxyCredential = $outboundProxyCredential
    }
    Invoke-WebRequest @requestOptions
}

Objek kredensial tersebut adalah untuk akun yang dimaksudkan oleh proksi. Sesi tetap menggunakan autentikasi remoting normalnya, dan login situs web apa pun tetap menjadi bagian dari permintaan situs tersebut.

Ini menghindari ketergantungan pada delegasi otomatis login pertama. Namun ini mengharuskan host jarak jauh menangani materi akun yang diberikan sebagai bagian dari desain administrasi yang dimaksudkan. Arsitektur lain, seperti titik akhir RunAs terkelola atau akses layanan terbatas, memiliki persyaratan konfigurasinya sendiri.

Jika kredensial proksi default adalah asumsi yang salah, catat akun tempat perintah jarak jauh berjalan dan autentikasi yang diminta proksi. Batas waktu permintaan web yang lebih lama tidak dapat menyediakan kredensial yang hilang.

Opsi proksi pada New-PSSessionOption menyangkut koneksi remoting itu sendiri. Konfigurasikan Invoke-WebRequest di dalam blok skrip jarak jauh ketika koneksi web keluar B-lah yang membutuhkan proksi.

Artikel terkait