Автоматическое обновление Windows через прокси ISA - PullRequest
1 голос
/ 15 января 2011

Описание проблемы: существует ли способ, позволяющий автоматическим обновлениям Windows проходить через прокси-сервер ISA, требующий проверки подлинности NTLM?

У меня нет доступа администратора или какого-либо доступа к прокси-серверу, и я не могу избежать прохождения через него.это, я читал в Интернете о рекомендациях разрешить прямой доступ к microsoft.com, но, как я объяснил, я не могу получить доступ к настройкам прокси.

Что я могу сделать, чтобы заставить работать автоматические обновления?

Операционная система: Windows XP

Ответы [ 2 ]

1 голос
/ 10 июня 2013

Автоматические обновления используют библиотеку WinHTTP для маршрутизации TCP-соединений. Чтобы служба WU (wuauserv) могла подключаться через прокси, убедитесь, что вы настроили библиотеку WinHTTP для прохождения через этот прокси. Чтобы настроить библиотеку WinHTTP для использования собственного прокси-сервера, выполните следующую процедуру:

  1. В командной строке с повышенными правами введите Netsh запустить средство командной строки Network Shell, которое позволяет вам изменять сеть в Windows.
  2. В командной строке NetSh введите: netsh> winhttp сбросить прокси Это сбросит настройки прокси для библиотеки WinHTTP
  3. Теперь перезапустите службу локатора сети, введя следующую команду в другой командной строке с повышенными правами. чистый останов NlaSvc && чистый старт NlaSvc Подтвердите перезапуск зависимой службы списка сетей.
  4. Вернитесь обратно в 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
  5. Выйдите из сетевой оболочки, набрав Netsh> выход
  6. Перезапустите службу Центра обновления Windows, запустив в командной строке с повышенными правами: чистая остановка wuauserv && чистая остановка wuauserv
  7. Теперь откройте файл% 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.

Надеюсь, это немного поможет.

0 голосов
/ 22 марта 2011

Существует инструмент под названием cntlm . Он позволяет проходить через прокси-сервер ISA, но его будет непросто интегрировать в любое приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...