Автоматические обновления используют библиотеку WinHTTP для маршрутизации TCP-соединений. Чтобы служба WU (wuauserv) могла подключаться через прокси, убедитесь, что вы настроили библиотеку WinHTTP для прохождения через этот прокси.
Чтобы настроить библиотеку WinHTTP для использования собственного прокси-сервера, выполните следующую процедуру:
- В командной строке с повышенными правами введите
Netsh
запустить средство командной строки Network Shell, которое позволяет вам изменять сеть в Windows.
- В командной строке NetSh введите:
netsh> winhttp сбросить прокси
Это сбросит настройки прокси для библиотеки WinHTTP
- Теперь перезапустите службу локатора сети, введя следующую команду в другой командной строке с повышенными правами.
чистый останов NlaSvc && чистый старт NlaSvc
Подтвердите перезапуск зависимой службы списка сетей.
- Вернитесь обратно в NetSh и наберите
netsh> winhttp set proxy XXX.XXX.XXX.XXX:XXXX
Где XXX.XXX.XXX.XXX:XXXX - это сокет TCP вашего прокси-сервера, через который вы хотите, чтобы проходил WU, например
netsh> winhttp set proxy 10.0.14.212:3128
- Выйдите из сетевой оболочки, набрав
Netsh> выход
- Перезапустите службу Центра обновления Windows, запустив в командной строке с повышенными правами:
чистая остановка wuauserv && чистая остановка wuauserv
- Теперь откройте файл% systemroot% \ windowsupdate.log, чтобы ваши обновления проходили через прокси-сервер.
7.1 В качестве альтернативы, запустите NetSh и введите в его приглашении:
netsh winhttp показать прокси
Эти настройки заставят службу WU проходить через указанный прокси под учетной записью пользователя, которая использовалась для запуска окна командной строки, по умолчанию это ваша учетная запись пользователя.
Чтобы убедиться, что Центр обновления Windows проходит через этот прокси-сервер при запуске под разными учетными записями, такими как сетевая служба или локальная служба, используемая Центром обновления Windows, убедитесь, что вы запускаете NetSh в командной строке, которая работает под этими конкретными системными учетными записями. Чтобы упростить процесс, загрузите Sysinternas Suite и используйте инструмент PSExec оттуда.
Чтобы интерактивно запустить окно командной строки с привилегиями LocalSystem, введите в командной строке:
PsExec.exe / s / i cmd
Выполните оттуда команды NetSh, чтобы применить изменения соединения для учетной записи LocalSystem.
Для интерактивного запуска окна командной строки с типом привилегий сетевой службы
PsExec.exe / i / u "NT AUTHORITY \ NETWORKSERVICE" "cmd"
Выполните оттуда команды NetSh, чтобы применить изменения соединения для учетной записи сетевой службы.
Для интерактивного запуска окна командной строки с типом привилегий Local Service
PsExec.exe / i / u "NT AUTHORITY \ LOCALSERVICE" "cmd"
Оттуда выполните команды NetSh, чтобы применить изменения соединения для учетной записи локальной службы.
Чтобы интерактивно запустить окно командной строки с правами вашей учетной записи Microsoft, нажмите WindowsKey и введите cmd.
Щелкните правой кнопкой мыши значок командной строки и выберите «Открыть местоположение файла» на панели.
В открывшемся окне проводника Windows щелкните правой кнопкой мыши ярлык командной строки, удерживая клавишу Shift, и выберите «Запуск от имени другого пользователя». В диалоговом окне безопасности Windows выберите учетную запись Microsoft. Укажите свои учетные данные Microsoft.
Используйте команду whoami, чтобы проверить, какая учетная запись используется для запуска командной строки, в которой вы запускаете средство сетевой оболочки.
Если вы хотите использовать те же параметры подключения, что и для библиотеки WinInet, которые используются Internet Explorer и большинством приложений для настольных компьютеров (современные приложения пользовательского интерфейса используют библиотеку WinHTTP), используйте
netsh winhttp источник импорта прокси = т.е.
импортировать настройки библиотеки WinInet в библиотеку WinHTTP.
Также убедитесь, что служба BITS маршрутизируется через локальный прокси. В командной строке с повышенными правами выполните:
C: \ Windows \ SysWOW64> bitsadmin.exe / Util / GetIEProxy "LocalService"
чтобы служба Background Intelligent Transfer, используемая Центром обновления Windows для загрузки обновлений, работала через указанный прокси-сервер при запуске с привилегиями LocalService.
Выполните те же проверки для других учетных записей:
C: \ Windows \ SysWOW64> bitsadmin.exe / Util / GetIEProxy "LocalSystem"C: \ Windows \ SysWOW64> bitsadmin.exe / Util / GetIEProxy "NetworkService"
Если он показывает, что BITS идет напрямую, без использования прокси-сервера, выполните следующие действия: C: \ Windows \ SysWOW64> bitsadmin.exe /Util / SetIEProxy LocalService MANUAL_PROXY 10.0.14.212:3128 NULL
Повторите то же самое для других системных учетных записей C: \ Windows \ SysWOW64> bitsadmin.exe / Util / SetIEProxy "LocalSystem" MANUAL_PROXY 10.0.14.212:312U\ Windows \ SysWOW64> bitsadmin.exe / Util / SetIEProxy "NetworkService" MANUAL_PROXY 10.0.14.212:3128 NULL
В% systemroot% \ WindowsUpdate.log ищите похожую строку: 012-09-14 22: 50: 09: 933 624 17f4 WS ПРЕДУПРЕЖДЕНИЕ: Используемый список прокси: 'proxy.domain.com:port', Используемый список обхода: '(null)', Последний использованный прокси: 'proxy.domain.com:port', Последнийauth Используемые схемы: «Нет».
Используйте CNTLM для передачи по восходящему каналу на корпоративный прокси-сервер, если Центру обновления Windows не удается пройти аутентификацию на корпоративном прокси-сервере, возвращая 407.
Надеюсь, это немного поможет.