Jen*_*sis 3 windows powershell
我想使用powershell脚本来关闭Windows更新服务并使用PowerShell自动更新Windows 10.我已经四处寻找,但命令并没有完全关闭.
我现在在不在网络上的设备上手动执行此操作,因此无法部署组策略:
services> windows update>禁用Windows Update>更改设置>从不检查更新
编辑 2020-07-30:
前一种解决方案(如下所示)仅部分有效:它不会禁用 WindowsUpdate/sihpostreboot 服务,因为 Microsoft 正在与此类指南作斗争。
什么是完全有效的:(如何禁用其余部分)
原来的答案:
该脚本基于凯末尔的回答。
改进之处在于,它还禁用WindowsUpdate 和 UpdateOrchestrator 文件夹中无法在任务计划程序中手动禁用的任务。此外,它还会禁用 Windows 更新服务。
推荐执行:
清除主机 $WindowsUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\" $AutoUpdatePath = "HKLM:SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" 如果(测试路径-路径$WindowsUpdatePath){ 删除项目-路径$WindowsUpdatePath-Recurse } 新项目 $WindowsUpdatePath -Force 新项目 $AutoUpdatePath -Force Set-ItemProperty -路径 $AutoUpdatePath -名称 NoAutoUpdate -值 1 获取ScheduledTask -TaskPath“\Microsoft\Windows\WindowsUpdate\”| 禁用计划任务 采取 /FC:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator /A /R icacls C:\Windows\System32\Tasks\Microsoft\Windows\UpdateOrchestrator /grant Administrators:F /T 获取ScheduledTask -TaskPath“\Microsoft\Windows\UpdateOrchestrator\”| 禁用计划任务 停止服务 wuauserv 设置服务 wuauserv -StartupType 已禁用 # 我们再次禁用 WindowsUpdate 文件夹,因为 wuauserv 服务可能同时启用它 获取ScheduledTask -TaskPath“\Microsoft\Windows\WindowsUpdate\”| 禁用计划任务 写入输出“所有 Windows 更新均已禁用”
注意:如果 WindowsUpdate 文件夹或 UpdateOrchestrator 文件夹不存在,脚本可能会显示执行错误。
注意 2:在某些 Microsoft 安装程序(例如 .Net Framework 安装程序、Visual Studio 安装程序等)运行后,您可能需要再次运行脚本,因为它们会再次启用更新。
小智 5
我发现这些信息你可以尝试一下
电源外壳
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
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9144 次 |
最近记录: |