Não é possível modificar a tarefa “Reboot” no win10 home

5

Eu tenho o Windows 10 em casa e estou logado como meu usuário, que tem privilégios de administrador. Eu vou no "Agendador de Tarefas", em "Task Scheduler Library > Microsoft > Windows > UpdateOrchestrator" , há uma tarefa chamada "Reboot". Clico com o botão direito do mouse nas propriedades, acesse "Condições" e desative "Wake the computer to run this task" . Quando clico em "OK" para salvar a modificação, ele me pede um usuário + senha. (A janela diz "Enter user account information for running this task" ).

O campo "User name" já vem por padrão com o valor "S-1-5-18", que aparentemente é um dos usuários internos do Windows. Eu tentei usar minha senha para não ter sucesso. Mudei o usuário para meu usuário e tentei minha senha, também sem sucesso. Eu habilitei o usuário "Administrador" e tentei o mesmo com esse usuário, também sem sucesso.

A mensagem que me é dada é: "An error has occurred for task Reboot. Error message: The following error was reported: 2147943004" . Não conheço um usuário / senha correta para alterar a configuração e não sei como apropriar-se ou alterar as permissões para que ele não solicite um usuário / senha.

Estou realmente chateado por haver algumas configurações que não posso modificar no meu computador, por isso quero saber por quê e como obter as permissões adequadas. Eu pareço ter o mesmo problema que esse cara , mas ele nunca recebeu uma resposta sobre como mude esta configuração. Ele conseguiu desativá-lo, eu fiz isso também, mas ainda quero saber o que eu deveria fazer para alterar a configuração, independentemente de desativar a tarefa. Além disso, ele está no win10pro e eu estou no win10home, então não tenho acesso a lusrmgr.msc ou gpedit.msc .

    
por msb 14.12.2017 / 09:22

5 respostas

5

windows 10 home [...]

upset that there's some setting that I can't modify in my own computer ... I want to know why

Você responde sua própria pergunta. O lar é para usuários domésticos que não têm necessariamente a capacidade de gerenciar ou manter seus sistemas. Ao bloquear usuários domésticos de algumas configurações como essa, a Microsoft está tentando evitar os horrores da era XP de sistemas sem patches onde as pessoas desativaram as atualizações porque não entendem por que precisam delas e as implicações de não obtê-las.

Para as entranhas da sua pergunta. S-1-5-18 é o usuário do sistema local, esta é uma conta altamente privilegiada que usuários normais, até mesmo os administradores, não devem ser capazes de interferir no dia a dia.

A ideia é que controlemos as janelas através das ferramentas do usuário e o sistema operacional fará as alterações necessárias nos processos subjacentes que são executados como sistema. Daí a sua incapacidade de assumir o controle da tarefa que você mencionou. A teoria é que você não muda as coisas aqui, você deve alterá-las na interface gráfica que você acessa através da janela de configurações usual.

No entanto, existem truques que você pode usar para ignorar essas proteções.

Para correr com os privilégios do SYSTEM, você pode fazer o seguinte:

  • Obtenha uma cópia do PSEXEC da sysinternals
  • Execute o seguinte em uma janela do CMD administrativo
    • PSEXEC /S CMD.EXE

Isto lhe dará um shell de comando rodando como SYSTEM na sessão 0. A partir daqui você pode executar comandos como aquele usuário, significando que você será capaz de mudar a função das tarefas agendadas

SCHTASKS /Change é a sua opção mais provável, daqui você pode assumir o controle das tarefas, parar, iniciar, excluir

    
por 14.12.2017 / 11:50
7

Sucesso. Depois de muita tentativa, isso é o que funciona para mim no Windows 10 Home. Baixe o PSExec.

PSEXEC /S CMD.EXE
SCHTASKS /Change /tn "\Microsoft\Windows\UpdateOrchestrator\Reboot" /DISABLE
You should get: SUCCESS: The parameters of scheduled task "\Microsoft\Windows\UpdateOrchestrator\Reboot" have been changed.

    
por 16.02.2018 / 06:59
1

windows_update_reboot_toggle.bat
Desativar a reinicialização protegida e ativar as tarefas. Nenhuma ferramenta externa necessária. Built-in desfazer.

@echo off &title Windows Update Reboot Toggle
reg query "HKEY_USERS\S-1-5-20\Environment" /v TEMP >nul 2>nul || goto need_admin_rights

set "updatetasks=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft\Windows\UpdateOrchestrator"
call :check_status "%updatetasks%\Reboot"
echo.
echo      ---------------------------------------------------------------------
echo     :                  Windows Update Reboot Toggle v4.6                  :
echo     :---------------------------------------------------------------------:
echo     : Prevent protected reboot and wake to run tasks without disabling WU :
echo     :           Just run this script again to toggle tasks on/off         :
echo     :                                                                     :
echo     :                          Currently: %STATUS%%_%                     :
echo     :                                                                     :
echo     : Press Alt+F4 to cancel                    Always run latest version :
echo      ---------------------------------------------------------------------
echo       All-around Windows Update Toggle available at https://git.io/vx2et
echo.
timeout /t 10 &echo.

:: Use Reg_TakeOwnership snippet to unprotect UpdateOrchestrator task cache registry keys
reg add "%updatetasks%\Reboot" /v checkrights /d 1 /f >nul 2>nul || call :reg_takeownership "%updatetasks%" Administrators recursive
reg delete "%updatetasks%\Reboot" /v checkrights /f >nul 2>nul
:: Toggle Reboot task
call :toggle_task "%updatetasks%\Reboot"
:: Toggle Schedule Retry Scan task
call :toggle_task "%updatetasks%\Schedule Retry Scan"
:: Update status
call :check_status "%updatetasks%\Reboot"
echo.

:: Done!
echo -------------------------------------
echo  Windows Update Reboot Tasks now: %STATUS%
echo -------------------------------------
echo.
pause
exit

::----------------------------------------------------------------------------------------------------------------------------------
:: Utility functions
::----------------------------------------------------------------------------------------------------------------------------------
:check_status %1:TaskCache entry in registry
reg query "%~1" /v "Id_OFF" >nul 2>nul && set "STATUS=OFF" || set "STATUS=ON!"
set "_=        " &if "%STATUS%"=="OFF" ( color 0c ) else color 0b
exit/b

:toggle_task %1:TaskCache entry in registry
reg query "%~1" /v "Id_OFF" >nul 2>nul && set "isOFF=1" || set "isOFF="
reg query "%~1" /v "Id" >nul 2>nul && set "isOFF=" || set "isOFF=1"
if defined isOFF ( call :reg_query "%~1" "Id_OFF" ID_BACKUP ) else call :reg_query "%~1" "Id" ID_BACKUP
if defined isOFF ( reg delete "%~1" /v "Id_OFF" /f &reg add "%~1" /v "Id" /d %ID_BACKUP% /f )
if not defined isOFF ( reg delete "%~1" /v "Id" /f &reg add "%~1" /v "Id_OFF" /d %ID_BACKUP% /f )
exit/b

:reg_takeownership %1:regkey[ex:"HKCU\Console"] %2:_user[optional, default:"Administrators"] %3:_recursive[optional, default:""]
set "s10=$dll0='[DllImport(''ntdll.dll'')]public static extern int RtlAdjustPrivilege(ulong a,bool b,bool c,ref bool d);'; $ntdll="
set "s11=Add-Type -Member $dll0 -Name NtDll -PassThru; foreach($i in @(9,17,18)){$null=$ntdll::RtlAdjustPrivilege($i,1,0,[ref]0)};"
set "s12=function Reg_TakeOwnership { param($hive, $key, $own, $inherit=$false);"
set "s13= $reg=[Microsoft.Win32.Registry]::$hive.OpenSubKey($key,'ReadWriteSubTree','TakeOwnership');"
set "s14= $acl=New-Object System.Security.AccessControl.RegistrySecurity; $acl.SetOwner($own); $reg.SetAccessControl($acl);"
set "s15= $acl.SetAccessRuleProtection($false,$false);$reg.SetAccessControl($acl);"
set "s16= $reg=$reg.OpenSubKey('','ReadWriteSubTree','ChangePermissions'); if($inherit){"
set "s17= $rule=New-Object System.Security.AccessControl.RegistryAccessRule($own,'FullControl','ContainerInherit','None','Allow');"
set "s18= $acl.ResetAccessRule($rule);$reg.SetAccessControl($acl);} }; $rk=$regkey -split '\\',2; $key=$rk[1];"
set "s19=switch -regex ($rk[0]) { '[mM]'{$HK='LocalMachine'};'[uU]'{$HK='CurrentUser'}; default {$HK='ClassesRoot'}; }; $HK; $key;"
set "s20=if($user -eq ''){$user='Administrators'}; [System.Security.Principal.NTAccount]$owner=$user; $rcsv=($recursive -ne '');"
set "s21=Reg_TakeOwnership $HK $key $owner $true; if($rcsv){$r=[Microsoft.Win32.Registry]::$HK.OpenSubKey($key);"
set "s22=foreach($sk in $r.GetSubKeyNames()){$sk; try{ Reg_TakeOwnership $HK $($key+'\'+$sk) $owner }catch{} }} "
setlocal & for /l %%# in (10,1,22) do call set "ps_RegTakeOwnership=%%ps_RegTakeOwnership%%%%s%%#:'=\"%%"
powershell.exe -c " $regkey='%~1';$user='%~2';$recursive='%~3'; %ps_RegTakeOwnership%;"
endlocal & exit/b                                         AveYo: call :reg_takeownership "HKLM\MyKey" "NT Service\TrustedInstaller"

:reg_query %1:KeyName %2:ValueName %3:OutputVariable %4:other_options[example: "/t REG_DWORD"]
setlocal & for /f "skip=2 delims=" %%s in ('reg query "%~1" /v "%~2" /z 2^>nul') do set "rq=%%s" & call set "rv=%%rq:*)    =%%"
endlocal & set "%~3=%rv%" & exit/b                                              AveYo: call :reg_query "HKCU\MyKey" "MyValue" MyVar

:need_admin_rights
color 0c&echo. &echo  PERMISSION DENIED! Right-click %~nx0 ^& Run as administrator &timeout /t 60 &color 0f&title %COMSPEC% &exit/b
::end
    
por 26.09.2018 / 10:13
0

Quando você diz "casa", você obviamente significa Win 10 Home vs Win 10 Pro? Eu pergunto porque tenho vários computadores, todos do Windows 10 Home, e a maioria me permite modificar as tarefas sem que a senha do administrador apareça, mas algumas não. A versão inicial não faz diferença, outra coisa está impedindo alterações.

Eu arriscaria um palpite de que você pode modificar as tarefas de uma instalação limpa do Win 10 ANTES de fazer qualquer atualização ... no entanto, uma vez que as atualizações passam, você perde o controle sobre muitos recursos do sistema, como tarefas. Excluir tarefas não é bom, você precisa excluir os gatilhos dentro das tarefas e tentar desabilitá-las depois de uma instalação limpa.

    
por 15.03.2018 / 19:28
0

Estou usando o Windows 10 Pro e estava tendo um problema semelhante. Não consegui alterar minha configuração "Acordar o computador para executar esta tarefa" na tarefa de reinicialização usando a interface do usuário do agendador de tarefas, mas descobri que, eventualmente, poderia usar esse método:

Usando psexec como Patrick sugeriu:

  1. Execute um prompt de comando como administrador.
  2. Navegue até onde o executável psexec está localizado.
  3. Execute .\psexec -s -i cmd.exe para abrir uma nova janela cmd.
  4. Na nova janela cmd, execute taskschd.msc (ou %windir%\system32\taskschd.msc ).
  5. Edite sua tarefa como antes. Você não deve ser solicitado a fornecer credenciais.

Comecei a procurar uma solução para isso quando o Windows acordava meu computador do modo de suspensão para forçar uma reinicialização. O problema é que o meu bootloader coloca a CPU em 100% enquanto aguarda minha entrada. Meu laptop é frequentemente fechado quando isso acontece e fica quente ao toque. Estou preocupado com a minha área de trabalho também, o que não tem funcionado normalmente desde que eu comecei a encontrá-lo sentado no bootloader de manhã, com todos os fãs ligados.

    
por 14.07.2018 / 15:57