ਦੂਜੀ PowerShell ਛਾਲ 'ਤੇ ਪ੍ਰੌਕਸੀ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ
ਰਿਮੋਟਿੰਗ ਲੌਗਇਨ ਡੈਲੀਗੇਟ ਹੁੰਦਾ ਹੈ ਮੰਨਣ ਦੀ ਥਾਂ ਰਿਮੋਟ ਸਰਵਰ 'ਤੇ ਚੱਲ ਰਹੇ Invoke-WebRequest ਨੂੰ ਲੋੜੀਂਦਾ ਪ੍ਰੌਕਸੀ ਖਾਤਾ ਦਿਓ।
ਸਰਵਰ B 'ਤੇ ਇੰਟਰੈਕਟਿਵ ਤੌਰ 'ਤੇ ਕੰਮ ਕਰਨ ਵਾਲੀ ਵੈੱਬ ਬੇਨਤੀ 407 ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੀ ਹੈ ਜਦੋਂ ਉਹੀ ਕਮਾਂਡ ਉੱਥੇ PowerShell ਰਿਮੋਟਿੰਗ ਰਾਹੀਂ ਚਲਾਈ ਜਾਂਦੀ ਹੈ। A ਤੋਂ B ਵਿੱਚ ਲੌਗਇਨ ਕਰਨਾ B ਦੇ ਅਗਲੇ ਪ੍ਰਮਾਣਿਕਤਾ ਵਟਾਂਦਰੇ ਲਈ ਉਹ ਪਛਾਣ ਆਪਣੇ ਆਪ ਡੈਲੀਗੇਟ ਨਹੀਂ ਕਰਦਾ।
A → remoting session on B → HTTP proxy → website
ਇੱਕ ਸਮਰਥਿਤ ਡਿਜ਼ਾਈਨ ਇਹ ਹੈ ਕਿ ਪ੍ਰੌਕਸੀ ਖਾਤਾ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਦਿੱਤਾ ਜਾਵੇ ਬਾਹਰ ਜਾਣ ਵਾਲੀ ਬੇਨਤੀ ਲਈ। ਮੌਜੂਦਾ PSSession ਅਤੇ ਢੰਗ ਨਾਲ ਪ੍ਰਾਪਤ PSCredential ਆਬਜੈਕਟ ਨਾਲ:
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
}
ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਆਬਜੈਕਟ ਪ੍ਰੌਕਸੀ ਦੇ ਲੋੜੀਂਦੇ ਖਾਤੇ ਲਈ ਹੈ। ਸੈਸ਼ਨ ਅਜੇ ਵੀ ਆਪਣਾ ਆਮ ਰਿਮੋਟਿੰਗ ਪ੍ਰਮਾਣਿਕਤਾ ਵਰਤਦਾ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਵੈੱਬਸਾਈਟ ਲੌਗਇਨ ਉਸ ਸਾਈਟ ਬੇਨਤੀ ਦਾ ਹਿੱਸਾ ਰਹਿੰਦਾ ਹੈ।
ਇਹ ਪਹਿਲੀ ਲੌਗਇਨ ਦੇ ਆਪਣੇ ਆਪ ਡੈਲੀਗੇਸ਼ਨ 'ਤੇ ਨਿਰਭਰ ਕਰਨ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ। ਪਰ ਇਹ ਲੋੜਦਾ ਹੈ ਕਿ ਰਿਮੋਟ ਹੋਸਟ ਦਿੱਤੀ ਖਾਤਾ ਸਮੱਗਰੀ ਨੂੰ ਲੋੜੀਂਦੇ ਪ੍ਰਸ਼ਾਸਨ ਡਿਜ਼ਾਈਨ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਸੰਭਾਲੇ। ਹੋਰ ਆਰਕੀਟੈਕਚਰ, ਜਿਵੇਂ ਪ੍ਰਬੰਧਿਤ RunAs ਐਂਡਪੌਇੰਟ ਜਾਂ ਸੀਮਿਤ ਸੇਵਾ ਪਹੁੰਚ, ਦੀਆਂ ਆਪਣੀਆਂ ਕਨਫਿਗਰੇਸ਼ਨ ਲੋੜਾਂ ਹਨ।
ਜੇ ਡਿਫ਼ਾਲਟ ਪ੍ਰੌਕਸੀ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਗਲਤ ਧਾਰਨਾ ਸਨ, ਤਾਂ ਉਹ ਖਾਤਾ ਦਰਜ ਕਰੋ ਜਿਸ ਅਧੀਨ ਰਿਮੋਟ ਕਮਾਂਡ ਚੱਲਦੀ ਹੈ ਅਤੇ ਉਹ ਪ੍ਰਮਾਣਿਕਤਾ ਜੋ ਪ੍ਰੌਕਸੀ ਮੰਗਦੀ ਹੈ। ਲੰਮਾ ਵੈੱਬ-ਬੇਨਤੀ ਸਮਾਂ-ਸੀਮਾ ਗੁੰਮ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਨਹੀਂ ਦੇ ਸਕਦਾ।
New-PSSessionOption 'ਤੇ ਪ੍ਰੌਕਸੀ ਵਿਕਲਪ ਰਿਮੋਟਿੰਗ ਕਨੈਕਸ਼ਨ ਨਾਲ ਹੀ ਸੰਬੰਧਿਤ ਹਨ। ਜਦੋਂ B ਦਾ ਬਾਹਰੀ ਵੈੱਬ ਕਨੈਕਸ਼ਨ ਹੀ ਪ੍ਰੌਕਸੀ ਚਾਹੁੰਦਾ ਹੋਵੇ, ਤਾਂ ਰਿਮੋਟ ਸਕ੍ਰਿਪਟ ਬਲਾਕ ਦੇ ਅੰਦਰ Invoke-WebRequest ਕਨਫਿਗਰ ਕਰੋ।