我正在尝试解决脚本问题。
在以前构建的Windows 10上,我已经能够使用以下脚本来禁用Windows 10更新:
Get-ScheduledTask -TaskPath "\Microsoft\Windows\WindowsUpdate\" | Disable-ScheduledTask
Get-ScheduledTask -TaskPath "\Microsoft\Windows\UpdateOrchestrator\" | Disable-ScheduledTask
stop-service wuauserv
尝试在Build 16299上更新时,禁用命令失败,但出现以下异常:
Get-ScheduledTask:系统找不到指定的文件。 + CategoryInfo:ObjectNotFound:(MSFT_ScheduledTask:Root / Microsoft / ... T_ScheduledTask)[Get-ScheduledTas k],CimException + FullyQualifiedErrorId:HRESULT 0x80070002,Get-ScheduledTask
我找到的解决方法是使用PSExec打开TaskScheduler
:
psexec.exe -i -s -accepteula %windir%\system32\mmc.exe /s taskschd.msc
但是,这需要手动禁用每个文件夹中的13个服务。
我的下一个想法是将两者组合成一个.net应用程序,但我想知道是否有人修复了powershell命令。我假设Windows现在正在为任务路径使用某种类型的别名吗?
感谢任何帮助。
答案 0 :(得分:2)
#Disable Windows Update
$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
}
New-Item $WindowsUpdatePath -Force
New-Item $AutoUpdatePath -Force
Set-ItemProperty -Path $AutoUpdatePath -Name NoAutoUpdate -Value 1
Get-ScheduledTask -TaskPath "\Microsoft\Windows\WindowsUpdate\" | Disable-ScheduledTask
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\" | Disable-ScheduledTask
Stop-Service wuauserv
Set-Service wuauserv -StartupType Disabled
Write-Output "All Windows Updates were disabled" -ForegroundColor Green