Od programu PowerShell 3.0 PSDefaultParameterValues może dostarczać domyślne ustawienia serwera proxy dla powtarzanych wywołań sieci Web:

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

Te przypisania zachowują niepowiązane wartości domyślne w słowniku. Jawny parametr Proxy zastępuje odpowiednią wartość domyślną. Klucze należy trzymać w zakresie konkretnego polecenia, zamiast dopasowywać wszystkie podobnie nazwane parametry za pomocą symbolu wieloznacznego. W przypadku osobnej sesji witryny publicznej, w której dozwolone są publiczne pośredniki, wybieraj kandydata z listy serwerów proxy HTTP tylko wtedy, gdy nie ustawiono domyślnych wartości ProxyCredential ani ProxyUseDefaultCredentials i nie podano jawnych poświadczeń serwera proxy.

Jeśli serwer proxy używa bieżącej tożsamości systemu Windows, dodaj odpowiednie wartości domyślne:

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

Umieść wybrane wpisy w odpowiednim profilu, gdy przyszłe sesje interaktywne mają je otrzymywać. W przypadku innej sieci zastąp ich wartości lub usuń wpisy należące do tej konfiguracji:

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

Usunięcie przywraca zwykły wybór parametrów. Polecenie cmdlet nadal może korzystać z obsługiwanej konfiguracji systemowej lub środowiskowej; usunięcie wartości domyślnej nie oznacza jawnego żądania połączenia bezpośredniego.

Powiązane artykuły