Isoler en PowerShell 5.1-proxyførespurnad med Start-Job
Bruk ein vanleg bakgrunnsjobb for å isolere ein webførespurnad i Windows PowerShell 5.1 frå tidlegare nettverksendringar i prosessen.
I ein Windows PowerShell 5.1-økt kan ein tidlegare komponent endre den lokale .NET-nettverkstilstanden i prosessen. Ein vanleg Start-Job-bakgrunnsjobb gjev ein separat PowerShell-prosess for ein seinare weboperasjon.
$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 og proxyUri er verdiar som programmet leverer. For ein offentleg HTTP-test leverer lista over HTTP-proxyar kandidat-mellomadresser; hald det valde endepunktet stabilt når du samanliknar prosessar. Oppgi òg eventuelle nødvendige proxy-legitimasjonar via dei tiltenkte jobbinndataa og førespurnadsparameterane. Eit levande websesjonsobjekt frå forelderen blir ikkje brukt på nytt automatisk.
Jobben har sin eigen sesjonstilstand; last inn nødvendige funksjonar eller modular der. Utdataa kryssar ei prosesgrense, så det er enklare å returnere innhaldet med vilje enn å anta at eit deserialisert svar oppfører seg som det opphavlege levande objektet.
Start-ThreadJob brukar ein annan utføringsmodell og gjev ikkje same prosesisolering. Ein separat prosess reparerer heller ikkje eit ugyldig proxyendepunkt eller ein nettverksomfattande policy. Bruk denne grensa når delt prosesstilstand er den relevante skilnaden.