От PowerShell 3.0 насам PSDefaultParameterValues може да предоставя прокси настройки по подразбиране за повтарящи се уеб извиквания:

$PSDefaultParameterValues['Invoke-WebRequest:Proxy'] = 'http://proxy.example:8080'
$PSDefaultParameterValues['Invoke-RestMethod:Proxy'] = 'http://proxy.example:8080'

Тези присвоявания запазват несвързаните настройки в речника. Явният параметър Proxy има предимство пред съответната настройка по подразбиране. Дръжте ключовете специфични за командата, вместо да съпоставяте всеки подобно именуван параметър с wildcard. За отделна сесия на публичен сайт, където са разрешени публични посредници, избирайте кандидат от списъка с HTTP прокси само когато не са зададени настройки по подразбиране ProxyCredential или ProxyUseDefaultCredentials, нито явни прокси идентификационни данни.

Ако проксито използва текущата самоличност на Windows, добавете съответните настройки по подразбиране:

$PSDefaultParameterValues['Invoke-WebRequest:ProxyUseDefaultCredentials'] = $true
$PSDefaultParameterValues['Invoke-RestMethod:ProxyUseDefaultCredentials'] = $true

Поставете избраните записи в подходящия profile, когато бъдещи интерактивни сесии трябва да ги получат. За друга мрежа заменете стойностите им или премахнете записите, притежавани от тази настройка:

$PSDefaultParameterValues.Remove('Invoke-WebRequest:Proxy')
$PSDefaultParameterValues.Remove('Invoke-RestMethod:Proxy')
$PSDefaultParameterValues.Remove('Invoke-WebRequest:ProxyUseDefaultCredentials')
$PSDefaultParameterValues.Remove('Invoke-RestMethod:ProxyUseDefaultCredentials')

Премахването възстановява обичайния избор на параметри. cmdlet-ът може все още да използва поддържаната от него системна или средова конфигурация; премахването на настройка по подразбиране не изисква изрично директна връзка.

Подобни статии