Estou tentando encontrar uma maneira de editar a política de grupo para atualizações do Windows programaticamente. Eu tenho um servidor WSUS local para o qual eu quero apontar novas instalações do Windows. Idealmente, eu só quero ter um script que eu possa executar o que faz isso, ao invés de entrar em gpedit.msc > ferramentas administrativas > atualização do windows > definir servidor de intranet.
Eu olhei para editar o registro como uma alternativa, mas eu corri para uma parede. Primeiro, as entradas são diferentes em diferentes sistemas operacionais, o que não é um showstopper, mas é chato. A questão principal, porém, é que em configurações mais antigas do sistema operacional (como o Windows XP), o endereço do servidor apareceria em um monte de lugares estranhos e únicos para cada computador. Por exemplo:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{2975F3DE-F18A-9CE1-A731-5E6723AC64FD}Machine\Software\Policies\Microsoft\Windows\WindowsUpdate
Por mais que eu saiba, não há como identificar o nome da chave de registro antes da instalação, portanto não posso definir as chaves corretamente. Eu também estou desconfiado em geral de fazer isso sobre o registro, porque eu não estou 100% confiante de que esta é a única mudança sendo feita no GPO (existe mais alguma coisa acontecendo nos bastidores?)
Atualização em resposta a comentários
@Ben - Eu sei que essa não é a maneira ideal de usar o GPO, estou mais limitado pelo fato de não poder ver nenhuma outra maneira de especificar meu servidor WSUS sem os problemas de registro, em vez de um desejo usar o GPO. Não há um diretório ativo atualmente configurado, portanto, até onde eu sei, não posso definir um GPO global que todos herdam, e não quero configurá-lo se puder evitá-lo.
@Jason - Há dois problemas, primeiro que isso é apenas definir valores de registro, o que eu já posso fazer no cmd, e segundo que não tenho 100% de certeza se todos os computadores que estamos usando terão o powershell instalado . E, nesse ponto, é um problema de galinha e ovo - uma cópia mais antiga do XP precisa do WSUS, e o WSUS é onde ele obtém o Powershell, que é necessário para configurar o WSUS.
@Ryan - Não acho que essas sejam as únicas configurações de registro alteradas. Pelo menos em uma conta do Windows 7, ele altera as entradas que você anotou em HKLM e HKEY_USERS, afaict. Mas, definindo apenas esses valores em uma caixa do Windows XP não permitia que o computador se conectasse ao servidor WSUS, ele apenas errou. Vou repetir, no entanto.
Segunda edição: Tentei fazer isso em uma máquina XP SP3 em branco, e ela não pôde se conectar ao servidor definindo apenas o seguinte:
HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate / v "WUServer" / t REG_SZ / d link
reg add HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate / v "WUStatusServer" / t REG_SZ / d link
HKEY_LOCAL_MACHINE \ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU / v "UseWUServer" / t REG_DWORD / d 1