【问题标题】:Turn off windows update service & auto updates windows 10 using powershell使用PowerShell关闭Windows更新服务和自动更新Windows 10
【发布时间】:2017-11-17 05:20:45
【问题描述】:

我想使用 powershell 脚本关闭 windows 更新服务并使用 powershell 自动更新 windows 10。我四处搜索,但命令并没有完全关闭其中任何一个。

我现在在不在网络上的设备上手动执行此操作,因此无法部署任何组策略:

服务> Windows 更新> 禁用 Windows 更新 > 更改设置 > 从不检查更新

【问题讨论】:

    标签: powershell windows-10 windows-update


    【解决方案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}
           Default{Exit}
    }
    
    $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 更新服务。

    推荐执行:

    1. 安装所有待处理的更新,使您处于“您的设备是最新的”状态。
    2. 以管理员身份运行以下 PowerShell 脚本:
    清除主机 $WindowsUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\" $AutoUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" 如果(测试路径 -Path $WindowsUpdatePath){ 删除项目 -Path $WindowsUpdatePath -Recurse } 新项目 $WindowsUpdatePath -Force 新项目 $AutoUpdatePath -Force Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 1 Get-ScheduledTask -TaskPath "\Microsoft\Windows\WindowsUpdate\" |禁用计划任务 takeown /F C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator /A /R icacls C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator /grant Administrators:F /T Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\" |禁用计划任务 停止服务 wuauserv 设置服务 wuauserv -StartupType 已禁用 # 我们再次禁用 WindowsUpdate 文件夹,因为 wuauserv 服务可能同时启用了它 Get-ScheduledTask -TaskPath "\Microsoft\Windows\WindowsUpdate\" |禁用计划任务 写输出“所有 Windows 更新都被禁用”

    注意:如果 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 更新。

          1. 根据我的经验,这是最好的方法停止 Windows 更新服务

          作为 Windows 10 核心的核心,Windows 更新实际上只是另一个 Windows 进程,因此可以通过以下简单步骤停止它:

          1. 打开运行命令 (Win + R),在其中输入:services.msc 并回车
          2. 从出现的服务列表中找到 Windows Update 服务并打开它并 停下来。
          3. 在“启动类型”中(在“常规”选项卡下)将其更改为“已禁用”
          4. 重启 要重新启用 Windows 更新,只需重复这四个步骤,但将启动类型更改为“自动”。

          这里附上图片是如何做到的。

          1. 转到服务> Windows 更新> 禁用 Windows 更新 > 更改设置 > 从不检查更新。

          【讨论】:

            猜你喜欢
            • 2010-11-08
            • 2019-09-26
            • 2020-06-25
            • 1970-01-01
            • 2015-11-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多