Назад | Перейти на главную страницу

Редактировать объект групповой политики Центра обновления Windows через командную строку

Я пытаюсь найти способ программно отредактировать групповую политику для обновлений Windows. У меня есть локальный сервер WSUS, на который я хочу указывать новые установки Windows. В идеале я просто хочу иметь сценарий, который я могу запустить, который делает это, вместо того, чтобы заходить в gpedit.msc> административные инструменты> обновление Windows> установить сервер интрасети.

Я рассматривал возможность редактирования реестра в качестве альтернативы, но наткнулся на стену. Во-первых, записи различаются в разных операционных системах, что не является препятствием, но раздражает. Однако основная проблема заключается в том, что в более старых конфигурациях ОС (например, Windows XP) адрес сервера будет отображаться во множестве странных, уникальных мест для каждого компьютера. Например:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{2975F3DE-F18A-9CE1-A731-5E6723AC64FD}Machine\Software\Policies\Microsoft\Windows\WindowsUpdate

Насколько я могу судить, нет способа определить, какое имя раздела реестра будет перед установкой, поэтому я не могу правильно установить ключи. Я также с подозрением отношусь к тому, чтобы делать это с реестром, потому что я не уверен на 100%, что это единственное изменение, вносимое в GPO (что-то еще происходит за кулисами?)

Обновление в ответ на комментарии

@Ben - Я знаю, что это не идеальный способ использования GPO, я больше ограничен тем фактом, что я не вижу другого способа указать мой сервер WSUS без проблем с реестром, а не желанием использовать GPO . В настоящее время не настроен активный каталог, поэтому, насколько мне известно, я не могу установить глобальный объект групповой политики, который наследуют все, и я не хочу его настраивать, если я могу этого избежать.

@Jason - Есть две проблемы: во-первых, это только установка значений реестра, что я уже могу сделать в cmd, а во-вторых, я не на 100% уверен, что на всех компьютерах, которые мы используем, установлен PowerShell. И в этот момент это проблема курицы и яйца - более старой копии XP нужен WSUS, WSUS - это то место, где он получает Powershell, который ему нужен для установки WSUS.

@Ryan - Я не думаю, что это единственные измененные настройки реестра. По крайней мере, в учетной записи Windows 7 он изменяет записи, которые вы отметили как в HKLM, так и в HKEY_USERS, afaict. Но установка только этих значений в окне Windows XP не позволяла компьютеру подключаться к серверу WSUS, он просто отключился. Однако я попробую еще раз. Второе редактирование: просто попробовал это на пустой машине XP SP3, и он не смог подключиться к серверу, установив только следующее:

HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate / v "WUServer" / t REG_SZ / d http: // myserver

reg add HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate / v "WUStatusServer" / t REG_SZ / d http: // myserver

HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU / v "UseWUServer" / t REG_DWORD / d 1

Вы можете использовать PowerShell для обновления групповой политики. Вот пример:

set-gpregistryvalue -name "WU" -key HKLM \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate -ValueName "WUServer", "WUStatusServer" -type String -Value "http: //wsus01.internal.local: 8530"

И вот где вы можете узнать больше об удивительных возможностях PowerShell:

http://technet.microsoft.com/en-us/library/ee461027.aspx

ИЛИ ЕЩЕ ЛУЧШЕ ОТВЕТА:

Шаг 1. Настройка Active Directory
Шаг 2. Присоедините компьютеры к домену Active Directory
Шаг 3. Настройте групповую политику для указания компьютеров на сервер WSUS.
Шаг 4: прибыль

Большинство параметров Центра обновления Windows в групповой политике задаются на уровне компьютера, а не на уровне пользователя. Кроме того, нет необходимости опасаться делать это напрямую через реестр. Это единственное, на что реально влияют административные шаблоны в групповой политике.

Все настройки «Компоненты Windows \ Центр обновления Windows» хранятся в этих двух ключах:

HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate
HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU

Политика «Указать расположение службы обновлений Microsoft в интрасети», в частности, устанавливает следующие значения:

  • WUServer (REG_SZ в корневом ключе)
  • WUStatusServer (REG_SZ в корневом ключе)
  • UseWUServer (REG_DWORD в ключе AU)

Достаточно легко увидеть, что именно установлено, вручную установив политики с помощью gpedit, а затем посмотрев, что изменилось в реестре. Если вы любите приключения, вы также можете взломать сам файл административного шаблона, чтобы посмотреть, что происходит. В Vista + это WindowsUpdate.admx. Я не помню, что это было на XP и ранее, но это был бы .adm.

* Изменить: по-видимому, неясно, пытается ли OP настроить параметры локальной политики или параметры политики домена. Этот ответ предназначен специально для редактирования параметров локальной политики на одном компьютере.