Ни для кого не секрет, что в том случае, если Ваш ПК с ОС Microsoft выходит в интернет с помощью прокси-сервера, то служба обновления системы Windows Update по-умолчанию не работает. Эта заметка о том, как можно настроить работу системы обновлений Windows на ПК, находящимся за прокси-сервером.
Служба обновлений Windows Update может использовать HTTP прокси-сервер. Однако указания прокси-сервера в настройках Windows Internet Explorer недостаточно для работы службы обновления через проксю. Дело в том, что Windows Update использует Windows HTTP Services (WinHTTP) для поиска обновления, а для загрузки обновлений используется BITS. Служба Windows Update по-умолчанию настроена так, что всегда пытается попасть на сервер обновлений Microsoft напрямую, не используя прокси-сервер, даже если в настройках Internet Explorer он указан.
Однако данная проблема решаема, достаточно настроить системный WinHttp прокси. В ОС Windows XP/2003 WinHttp прокси задавался с помощью утилиты proxycfg.exe. В новых ОС Windows Vista/7/2008 данная утилита упразднена и настройка WinHttp прокси выполняется при помощи команды netsh.
Настройка выполняется при помощи следующей команды: netsh winhttp set proxy <адрес_прокси_сервера>:<порт_прокси_сервера>.
После того, как вы выполните данную команду, ваша ОС Windows 7 будет обновляться, даже находясь за прокси-сервером.
Как вариант, если вы хотите взять настройки прокси из Internet Explorer, можно воспользоваться командой:
netsh winhttp import proxy source=ie
Как вариант возможна также ситуация, когда необходимо перенаправить весь трафик, кроме трафика на Microsoft (системные обновления, активация) на прокси-сервер, тогда можно воспользоваться следующей командой обхода прокси для обновлений Windows.
Сделайте обход прокси для активации и обновлений вот так:
netsh winhttp set proxy proxy-server="your-proxy-srv:3128" bypass-list="*.windowsupdate.com;*.microsoft.com"
Текущие настройки WinHttp можно посмотреть командой:
netsh winhttp show proxy
Сбросить же настройки прокси сервера можно при помощи команды:
Netsh winhttp reset proxy
Спасибо за статью! Подскажите, можно ли прописать логин и пароль в этом примере?
К сожалению, так и не получилось понять как можно настроить аутентификацию на прокси при помощи winhttp, возможно так сделать просто нельзя.
Если у кого-то получится, прошу поделится рецептом.
Похоже Билл забилл на эту опцию в XP (увы), но вот в Windows 7 (а видимо тогда и в Висте) это точно было реализовано (там ведь центр обновления претерпел заметные изменения)- сам был свидетелем — при настройке браузера (IE) на прокси с авторизацией семерка подумав немного выкидывала окно авторизации и дальше все закачивалось на ура…
Тут:
_http://www.ehow.co.uk/how_5939586_change-username-password-ie-6.html
работает
Подскажите какие ветки реестра правятся данными настройками?
Есть необходимость указать проксю для большого количества клиентов и хотелось бы это сделать групповой политикой.
Или есть отдельная политика для настройки данных параметров?
Сам спросил сам ответил:
HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\WinHttpSettings
Т.к. тип ключа реестра REG_BINARY, то нужно создать его на одной из машин, положить в общедоступное место, а затем скриптом при логоне импортировать всем остальным групповой политикой.
Подскажите пожалуйста нужна ли настройка WinHttp proxy для ОС MS WS 2012, 2016, 2019 , чтобы в них корректно работал WU через прокси ? Или для этого вполне достаточно настройки Proxy Settings в Internet Settings ?
Насколько я помню, все должно работать после простого указания Proxy Settings в настройках IE. В Windows Server 2016 была проблема, что недостоточно прописать прокси сервер в IE, нужно импортирвать настройки в WinHttp
netsh winhttp import proxy source=ie
Может быть у вас проблема с аутентфикацией на прокси?
как настроить получение обновлений только через прокси, а весь другой трафик без?
netsh winhttp set proxy proxy-server=»your-proxy-srv:3128″ include-list=»*.windowsupdate.com;*.microsoft.com»
«include-list» — это для примера, такого ключа нет
Есть сценарий наоборот, исключить прокси для определенных адресов (bypass-list):
netsh winhttp set proxy proxy-server=»your-proxy-srv:3128″ bypass-list="*.example.com"
спасибо, но уже не имеет значения, не было десятки под рукой для проверки
а идея была в том, что-бы прописать прокси 0.0.0.0:9999 в настройках и тем самым блокировать несанкционированные подключения виндоус, но способ не работает, зараза все равно пролезает игнорируя настройки