Я пытаюсь найти способ программно отредактировать групповую политику для обновлений 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 в интрасети», в частности, устанавливает следующие значения:
Достаточно легко увидеть, что именно установлено, вручную установив политики с помощью gpedit, а затем посмотрев, что изменилось в реестре. Если вы любите приключения, вы также можете взломать сам файл административного шаблона, чтобы посмотреть, что происходит. В Vista + это WindowsUpdate.admx. Я не помню, что это было на XP и ранее, но это был бы .adm.
* Изменить: по-видимому, неясно, пытается ли OP настроить параметры локальной политики или параметры политики домена. Этот ответ предназначен специально для редактирования параметров локальной политики на одном компьютере.