пятница, 29 ноября 2019 г.

PowerShell через прокси

Если доступ в Интернет осуществляется через прокси сервер, по-умолчанию в PowerShell не получится обратиться к внешней веб-странице (командлет Invoke-WebRequest), обновить справку с помощью Update-Help.


Попробуем выполнить обновление справки Powershell:
  • Update-Help
Powershell (а точнее класс .NET System.Net.WebClient, который используют данные командлеты для обращения к внешними ресурсам по HTTP) не использует настройки системного прокси, заданных в IE. Однако в классе WebClient есть свойства, позволяющие указать как настройки прокси (WebClient.Proxy), так и данные для авторизации на нем (WebClient.Credentials или WebClient.UseDefaultCredentials). Рассмотрим, как воспользоваться данными свойствами класса WebClient.
Проверим текущие настройки системного прокси в сессии Powershell
  • netsh winhttp show proxy
Импортируем настройки прокси из параметров Internet Explorer:
  • netsh winhttp import proxy source=ie
или зададим их вручную
  • netsh winhttp set proxy "192.168.0.1:3128"
Если вы авторизованы в системе под доменной учетной записью, и ваш прокси поддерживает NTLM/AD аутентификацию, то для аутентификации на прокси сервере можно воспользоваться учетными данными текущего пользователя (вводить имя/пароль не потребуется):
$Wcl = new-object System.Net.WebClient
$Wcl.Headers.Add(“user-agent”, “PowerShell Script”)
$Wcl.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
Если же нужно вручную аутентифицироваться на прокси-сервере, выполните следующие команды, указав имя и пароль пользователя в соответствующем окне.
$Wcl=New-Object System.Net.WebClient
$Creds=Get-Credential
$Wcl.Proxy.Credentials=$Creds

Комментариев нет:

Отправить комментарий

Пользователи и права на каталоги в Linux

Создаём пользователя системы и меняем права на каталоги, с коротким описанием