暂停windows更新最多35天,并找出直到日期更新暂停,通过powershell

gojuced7  于 2023-06-29  发布在  Shell
关注(0)|答案(3)|浏览(194)

在Windows 10中,可以使用“Windows Update -高级选项”设置对话框暂停Windows更新长达35天(请参见屏幕截图)。
问题1:我如何通过PowerShell或命令行来实现这一点?
问题2:如何通过PowerShell或命令行查找Windows更新暂停的日期?或者可选地:我如何知道还有多少天才恢复windows更新?

eqzww0vc

eqzww0vc1#

这里有一个简单的方法来在PowerShell中通过修改注册表来做到这一点:

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' -Name 'PauseUpdatesExpiryTime' -Value "2020-07-31T00:00:00Z"

最后查询当前设置:

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings'| Select-Object PauseUpdatesExpiryTime

这已经过测试,唯一的副作用是日期设置下拉列表在高级设置页面中变灰。

gijlo24d

gijlo24d2#

根据Ozymanduis的评论,一行代码可以做到这一点:

$pause = (Get-Date).AddDays(35); $pause = $pause.ToUniversalTime().ToString( "yyyy-MM-ddTHH:mm:ssZ" ); Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' -Name 'PauseUpdatesExpiryTime' -Value $pause
ca1c2owp

ca1c2owp3#

感谢Ozymanduis的建议。我试过了,效果很好。可能windows 10需要确切的时间格式来接受暂停更新功能并正常工作。然而,我去寻找注册表的地方,这些键,在按下暂停更新功能。似乎还有其他REG键是在“按下按钮”过程中创建的。这些是

PauseFeatureUpdatesStartTime (Where the time format is set on "now")

PauseFeatureUpdatesEndTime (Where the time format is set on "in 35 days")

PauseQualityUpdatesStartTime (Where the time format is set on "now")

PauseQualityUpdatesEndTime (Where the time format is set on "in 35 days")

所以我就像这样把那些键加到等式里

$pause = (Get-Date).AddDays(35)
$pause = $pause.ToUniversalTime().ToString( "yyyy-MM-ddTHH:mm:ssZ" )
$pause_start = (Get-Date)
$pause_start = $pause_start.ToUniversalTime().ToString( "yyyy-MM-ddTHH:mm:ssZ" )
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' -Name 'PauseUpdatesExpiryTime' -Value $pause                                                                                        
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' -Name 'PauseFeatureUpdatesStartTime' -Value $pause_start
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' -Name 'PauseFeatureUpdatesEndTime' -Value $pause
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' -Name 'PauseQualityUpdatesStartTime' -Value $pause_start
Set-itemproperty -Path 'HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings' -Name 'PauseQualityUpdatesEndTime' -Value $pause

现在我希望它真的会暂停那些更新。我记得几年前曾尝试过“暂停”REG键功能,而不是“禁用windows更新”功能,但不知何故,它过去常常在宽限期内恢复这些更新,无论日期设置如何,这有点烦人。我会及时通知你的。
编辑:我在同一个ps文件中添加了reg条目,以避免自动更新功能像这样启动,

New-Item -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Force
New-ItemProperty -Path  'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU' -Name 'NoAutoUpdate' -PropertyType DWORD -Value 1

当我们的机器被部署时,我会尽快这样做,以避免更新过程开始(因为如果它开始了,你就完蛋了),现在它似乎工作得很好:

相关问题