Illa unha solicitude de proxy de PowerShell 5.1 con Start-Job
Use unha tarefa en segundo plano normal para illar unha solicitude web de Windows PowerShell 5.1 dos cambios de rede anteriores no proceso.
Nunha sesión de Windows PowerShell 5.1, un compoñente anterior pode cambiar o estado de rede local .NET do proceso. Unha tarefa en segundo plano Start-Job normal proporciona un proceso de PowerShell separado para unha operación web posterior.
$job = Start-Job -ArgumentList $uri, $proxyUri -ScriptBlock {
param($destination, $intermediary)
$response = Invoke-WebRequest -Uri $destination `
-Proxy $intermediary -UseBasicParsing -TimeoutSec 30
$response.Content
}
try {
Receive-Job -Job $job -Wait -ErrorAction Stop
}
finally {
Remove-Job -Job $job
}
uri e proxyUri son valores que fornece a aplicación. Para unha proba HTTP pública, a lista de proxies HTTP ofrece enderezos intermedios candidatos; manteña estable o punto final escollido ao comparar procesos. Forneza tamén as credenciais de proxy necesarias mediante as entradas da tarefa e os parámetros da solicitude. Un obxecto de sesión web vivo do proceso pai non se reutiliza automaticamente.
A tarefa ten o seu propio estado de sesión; cargue alí as funcións ou módulos necesarios. A súa saída cruza unha fronteira de proceso, así que devolver o contido deliberadamente é máis simple que supoñer que unha resposta deserializada se comporta como o obxecto vivo orixinal.
Start-ThreadJob usa outro modelo de execución e non ofrece o mesmo illamento de proceso. Un proceso separado tampouco repara un punto final de proxy non válido nin unha política de rede. Use esta fronteira cando o estado de proceso compartido sexa a diferenza relevante.