Как получить системный прокси-сервер Windows с помощью Powershell?

Я знаю об этом

$webproxy = (get-itemproperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').ProxyServer

Есть ли что-то более общее или это лучшее?

2 ответа2

1

Я не знаю ничего лучше, чем это, я боюсь.

Это идет прямо к настройке, и доступ к реестру довольно эффективен.

1

Обидно, что у Microsoft нет функции использовать прокси для данной цели "из коробки".

В настоящее время вам нужно вручную проверить настройки прокси в HKLM и HKCU, поиск в ..\Software\Microsoft\Windows\CurrentVersion\Internet Settings, если ProxyEnable = 1 и если да, то проанализируйте список ProxyServers для первого, поддерживающего правильный протокол (ALL, HTTP, HTTPS ...). Затем вам нужно проверить, следует ли вам обходить прокси-сервер для вашего конкретного места назначения или нет через ProxyOverride (также необходимо проверить локальные настройки интрасети и все перечисленные целевые домены, в случае, если прокси-скиппс интранет-адреса)

Наконец, не забудьте проанализировать параметры AutoProxy для PAC-файла или, если WPAD-протокол включен через AD или DHCP. Не говоря уже о запросе любых необходимых учетных данных прокси. Это ужасный длинный код только для того, чтобы получить правильный прокси для одной цели ... но так он будет работать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .