Owe*_*wen 5 windows wsus command-line-interface group-policy windows-update
我正在尝试找到一种以编程方式编辑 Windows 更新组策略的方法。我有一个本地 WSUS 服务器,我想将新安装的 Windows 指向该服务器。理想情况下,我只想拥有一个可以执行此操作的脚本,而不是进入 gpedit.msc > 管理工具 > windows 更新 > 设置 Intranet 服务器。
我考虑过编辑注册表作为替代方案,但我遇到了墙。首先,不同操作系统的条目是不同的,这不是一个令人讨厌的问题,但很烦人。不过,主要问题是,在较旧的操作系统配置(如 Windows XP)上,服务器地址会出现在每台计算机的一大堆奇怪的、独特的地方。例如:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{2975F3DE-F18A-9CE1-A731-5E6723AC64FD}Machine\Software\Policies\Microsoft\Windows\WindowsUpdate
Run Code Online (Sandbox Code Playgroud)
据我所知,在安装之前无法确定注册表项名称是什么,因此我无法正确设置这些项。我一般也对在注册表中执行此操作持怀疑态度,因为我不是 100% 确信这是 GPO 中所做的唯一更改(幕后是否还有其他事情发生?)
根据评论更新
@Ben - 我知道这不是使用 GPO 的理想方式,我更受限制,因为我看不到没有注册表问题的任何其他方式来指定我的 WSUS 服务器,而不是希望使用 GPO . 当前没有设置活动目录,所以据我所知,我无法设置每个人都继承的全局 GPO,如果可以避免的话,我不想设置一个。
@Jason - 有两个问题,首先这只是设置注册表值,我已经可以在 cmd 中进行设置,其次我不能 100% 确定我们使用的所有计算机是否都安装了 powershell。而且,在这一点上,它是一个鸡和蛋的问题 - XP 的旧副本需要 WSUS,WSUS 是它获取 Powershell 的地方,它需要设置 WSUS。
@Ryan - 我不认为这些是唯一更改的注册表设置。至少在 Windows 7 帐户中,它会更改您在 HKLM 和 HKEY_USERS 中记录的条目,事实上。但是,仅在 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-gpreregistryvalue -名称“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:利润