使用PowerShell关闭Windows更新服务和自动更新Windows 10
Posted
技术标签:
【中文标题】使用PowerShell关闭Windows更新服务和自动更新Windows 10【英文标题】:Turn off windows update service & auto updates windows 10 using powershell 【发布时间】:2017-11-17 05:20:45 【问题描述】:我想使用 powershell 脚本关闭 windows 更新服务并使用 powershell 自动更新 windows 10。我四处搜索,但命令并没有完全关闭其中任何一个。
我现在在不在网络上的设备上手动执行此操作,因此无法部署任何组策略:
服务> Windows 更新> 禁用 Windows 更新 > 更改设置 > 从不检查更新
【问题讨论】:
【参考方案1】:我找到了这个信息你可以试试
Powershell
Clear-Host
Write-Host "0 -> Change setting in Windows Update app (default)"
Write-Host "1 -> Never check for updates (not recommended)"
Write-Host "2 -> Notify for download and notify for install"
Write-Host "3 -> Auto download and notify for install"
Write-Host "4 -> Auto download and schedule the install"
Write-Host "Enter any character to exit"
Write-Host
switch(Read-Host "Choose Window Update Settings")
0 $UpdateValue = 0
1 $UpdateValue = 1
2 $UpdateValue = 2
3 $UpdateValue = 3
4 $UpdateValue = 4
DefaultExit
$WindowsUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\"
$AutoUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
If(Test-Path -Path $WindowsUpdatePath)
Remove-Item -Path $WindowsUpdatePath -Recurse
If ($UpdateValue -gt 0)
New-Item -Path $WindowsUpdatePath
New-Item -Path $AutoUpdatePath
If ($UpdateValue -eq 1)
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 1
If ($UpdateValue -eq 2)
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name AUOptions -Value 2
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallDay -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallTime -Value 3
If ($UpdateValue -eq 3)
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name AUOptions -Value 3
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallDay -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallTime -Value 3
If ($UpdateValue -eq 4)
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name AUOptions -Value 4
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallDay -Value 0
Set-ItemProperty -Path $AutoUpdatePath -Name ScheduledInstallTime -Value 3
【讨论】:
谢谢。我正在使用平板电脑并尝试使用另一个不起作用的脚本。但是这个做到了。我已经成功申请了300片=)【参考方案2】:编辑 2020-07-30:
下面的前一个解决方案只能部分起作用:它不会禁用 WindowsUpdate/sihpostreboot 服务,因为微软正在与这样的指南作斗争。
什么是完全有效的:(如何禁用其余部分)
按照以下原始解决方案的步骤进行操作(完成时会出现一些错误) 下载解压Microsoft PSTools 使用 psexec.exe 在位置以管理员身份启动命令行 使用 SYSTEM 权限启动任务计划程序:psexec -i -d -s mmc taskschd.msc 手动禁用其余未禁用的更新任务原始答案:
此脚本基于 Kemal 的回答。
改进之处在于它还禁用了 WindowsUpdate 和 UpdateOrchestrator 文件夹中的任务无法在任务计划程序中手动禁用。此外,它还会禁用 Windows 更新服务。
推荐执行:
-
安装所有待处理的更新,使您处于“您的设备是最新的”状态。
以管理员身份运行以下 PowerShell 脚本:
注意:如果 WindowsUpdate 文件夹或 UpdateOrchestrator 文件夹不存在,脚本可能会显示执行错误。
注意 2:在某些 Microsoft 安装程序(如 .Net Framework 安装程序、Visual Studio 安装程序...)运行后,您可能需要再次运行该脚本,因为它们会再次启用更新。
【讨论】:
【参考方案3】:用于禁用 Windows 10 的自动更新 运行 --> services.msc --> Windows Update --> 属性 --> 启动类型 --> 禁用
http://optimistpower.blogspot.in/2017/12/how-to-disable-windows-auto-update-in.html
【讨论】:
【参考方案4】:如果有人偶然发现这个问题只是试图暂时禁用 Windows 10 中的更新,请查找设置:“设置为按流量计费的连接” 并将其打开。我知道这并没有解决 OP 的问题,但是在搜索如何关闭更新时,这个问题是最先出现的问题之一。
【讨论】:
【参考方案5】:有更简单的方法可以一次性摆脱所有网络霸占应用程序的讨厌活动:使用本地机器的 sock 代理。
如今,大多数 Windows 应用程序都内置了自己的云。当您启动 Windows 时,它们都使用自己的服务器。手动将它们一一阻止并不容易。
所以我采取了这种方式,一次将它们全部屏蔽,并且我只允许某些应用在需要时上网。
策略:阻止Windows机器上网,然后使用SSH动态端口转发建立隧道,将所有互联网请求转发到本地网络上的Linux SSH服务器。由于我没有给出系统级别的internet代理设置,Windows box像小蚂蚁一样无法在微软上找到它的大王后,因为它被屏蔽了。
第 1 步:阻止 Windows 框的所有 Internet 访问。实现这一点的方法很多:我修改路由器以阻止 Windows 框访问互联网。
第 2 步:在您的 Windows 机器上安装 ssh 客户端。我在我的 Windows 框中安装了 open-ssh 客户端。你需要一个 Linux 机器才能让 ssh 服务器在同一网络中运行。我使用的是群晖 diskstaion NAS 系统。它整天运行,所以我所有的本地网络都将它用作代理服务器。你也可以简单地在你的 windows 盒子里安装一个 vertual linux 盒子,用它做很多事情。
第 3 步:打开一个本地端口并将所有发送到它的流量通过隧道传输到 linux 机器。我们使用1080端口。执行ssh命令:
ssh -D 1080 <ssh-username>@<linuxbox_address>
您可以做更多的事情来简化 ssh 登录,例如使用 ssh 密钥等。
第 4 步:现在您的 windows box 的 1080 端口通过 linux box 向互联网开放。你只需要告诉每个应用程序如何使用这个端口。例如,您希望 Windows 框中的 Chrome 浏览器可以上网,没问题。更改 chrome 启动命令行选项(右键单击 chrome 图标,更改命令行,使其看起来像这样:
.../chrome.exe --proxy-server=SOCKS4://127.0.0.1:1080
你可以走了。注意:请勿更改系统的 Internet 代理设置。因为系统代理设置被所有程序共享。您不希望所有应用程序都可以访问互联网。这就是我们一路走到这里的原因。
现在我觉得 Windows 盒子又可以使用了。
【讨论】:
这是一个非常有趣的答案!但请注意:即使没有 Internet 连接,这也不能解决 Windows 更新服务的 CPU 利用率问题。我无法想象这些服务试图做什么,但它们确实减慢了慢速 PC。【参考方案6】:有几种方法可以停止 Windows 更新。
-
根据我的经验,这是最好的方法。 停止 Windows 更新服务
作为 Windows 10 核心的核心,Windows 更新实际上只是另一个 Windows 进程,因此可以通过以下简单步骤停止它:
-
打开运行命令 (Win + R),在其中输入:services.msc 并回车
从出现的服务列表中找到 Windows Update 服务并打开它并
停下来。
在“启动类型”中(在“常规”选项卡下)将其更改为“已禁用”
重启
要重新启用 Windows 更新,只需重复这四个步骤,但将启动类型更改为“自动”。
这里附上图片是如何做到的。
-
转到服务> Windows 更新> 禁用 Windows 更新 > 更改设置 > 从不检查更新。
【讨论】:
以上是关于使用PowerShell关闭Windows更新服务和自动更新Windows 10的主要内容,如果未能解决你的问题,请参考以下文章
使用 powershell 暂停 Windows 11 更新
powershell 使用PowerShell获取Windows更新版本