win10 홈에서“재부팅”작업을 수정할 수 없습니다


8

Windows 10 홈이 있고 관리자 권한이있는 사용자로 로그인했습니다. "작업 스케줄러" "Task Scheduler Library > Microsoft > Windows > UpdateOrchestrator"의 "재부팅"이라는 작업이 있습니다. 속성을 마우스 오른쪽 버튼으로 클릭하고 "조건"으로 이동하여 비활성화하십시오 "Wake the computer to run this task". "확인"을 클릭하여 수정 내용을 저장하면 사용자 + 암호를 묻습니다. (창에 "Enter user account information for running this task") 이 표시 됩니다.

"사용자 이름"필드에는 기본적으로 이미 "S-1-5-18"값이 있으며 이는 윈도우의 내부 사용자 중 하나입니다. 암호를 사용하여 성공하지 못했습니다. 사용자를 내 사용자로 변경하고 비밀번호를 시도했지만 성공하지 못했습니다. "관리자"사용자를 활성화하고 해당 사용자와 동일하게 시도했지만 성공하지 못했습니다.

그것이주는 메시지는 다음과 같습니다 "An error has occurred for task Reboot. Error message: The following error was reported: 2147943004". 설정을 변경하는 올바른 사용자 / 암호를 모르고, 사용자 / 암호를 요구하지 않도록 소유권을 가져 오거나 권한을 변경하는 방법을 모르겠습니다.

내 컴퓨터에서 수정할 수없는 설정이 있다는 사실에 정말로 화가 났으므로 그 이유와 적절한 권한을 얻는 방법을 알고 싶습니다. 이 사람 과 같은 문제가있는 것 같지만 이 설정을 변경하는 방법에 대한 답변을 얻지 못했습니다. 그는 그것을 비활성화 할 수 있었고, 나도 그렇게했지만 여전히 작업 비활성화와 상관없이 설정을 변경하기 위해 무엇을 해야하는지 알고 싶습니다. 또한 그는 win10pro에 있고 win10home에 있으므로 lusrmgr.msc또는에 액세스 할 수 없습니다 gpedit.msc.

답변:


8

창 10 집 [...]

내 컴퓨터에서 수정할 수없는 설정이 있습니다. 왜 그런지 알고 싶습니다

당신은 당신의 자신의 질문에 대답합니다. Home은 시스템을 관리하거나 유지 관리 할 수있는 능력이없는 가정 사용자를위한 것입니다. 이와 같은 일부 설정에서 가정 사용자를 잠그기 위해 Microsoft는 사람들이 업데이트를 해제 한 XP가 패치되지 않은 시스템의 XP 시대에 대한 공포를 예방하기 위해 노력하고 있습니다.

질문의 직감에. S-1-5-18은 LocalSystem 사용자이며 일반 사용자, 심지어 관리자조차도 매일 방해 할 수없는 높은 권한의 계정입니다.

아이디어는 사용자 도구를 통해 창을 제어하고 운영 체제는 시스템으로 실행되는 기본 프로세스를 필요한대로 변경한다는 것입니다. 따라서 언급 한 작업을 제어 할 수 없습니다. 이론은 여기서 변경하지 않고 일반적인 설정 창을 통해 액세스하는 그래픽 인터페이스에서 변경해야한다는 것입니다.

그러나 이러한 보호를 우회하는 데 사용할 수있는 트릭이 있습니다.

SYSTEM 권한으로 실행하려면 다음을 수행하십시오.

  • sysinternals에서 PSEXEC의 사본을 받으십시오.
  • 관리 CMD 창에서 다음을 실행하십시오.
    • PSEXEC /S CMD.EXE

세션 0에서 SYSTEM으로 실행되는 명령 셸이 제공됩니다. 여기에서 해당 사용자로 명령을 실행할 수 있습니다. 즉, 예약 된 작업의 기능을 변경할 수 있습니다.

SCHTASKS /Change 가장 가능성있는 옵션입니다. 여기에서 작업을 제어하고, 중지하고, 시작하고, 삭제할 수 있습니다.


1
나는 이것을 시도했고 PSExec을 수행 한 후에는 작동 C:\WINDOWS\system32>SCHTASKS /Change /tn "\Microsoft\Windows\UpdateOrchestrator\Reboot" /DISABLE ERROR: Access is denied. 하지 않을 수 있습니다.
mkmurray

1
"그래픽 인터페이스에서 그것들을 바꾸어야한다".... 글쎄, 그것이 내가 시도한 것입니다 :-/ GUI 옵션을 볼 수는 있지만 더 나빠질 수는 없다고 생각합니다! 내가 그것을 볼 수 없다면 나는 덜 화나게 될 것입니다. :( 어쨌든, psexec가 작동했고 서비스를 비활성화 할 수 있습니다. 감사합니다. ^ _ ^ 설정을 변경하는 것과 같지 않지만 작동합니다. 그래도 서비스를 비활성화하고 "Windows Updates"서비스를 사용하여 업데이트를 위해 창을 재부팅했습니다. 소년은 때때로 마이크로 소프트를 싫어한다 ....> :-( 다시 조사에서 ... :-/ PS : @mkmurray의 경우에 흥미가있다. 나는 그가 질문을 게시하기를 바란다. : $
msb

10

성공. 많은 노력을 기울인 후에 이것은 Windows 10 Home에서 저에게 효과적입니다. PSExec을 다운로드하십시오.

PSEXEC / S CMD.EXE
SCHTASKS / 변경 / tn "\ Microsoft \ Windows \ UpdateOrchestrator \ Reboot"/ DISABLE
다음과 같은 결과가 나타납니다. 성공 : 예약 된 작업 "\ Microsoft \ Windows \ UpdateOrchestrator \ Reboot"의 매개 변수가 변경되었습니다.


광산은 이미 비활성화되어 있으며 컴퓨터가 다시 재부팅되었습니다. 소년 나는 M $를 싫어한다. > :-/
msb 8

1

Windows 10 Pro를 사용하고 있으며 비슷한 문제가 발생했습니다. 작업 스케줄러 UI를 사용하여 재부팅 작업에서 "컴퓨터에서이 작업을 수행하도록 설정"설정을 변경할 수 없었지만 결국이 방법을 사용할 수 있음을 발견했습니다.

Patrick이 제안한대로 psexec 사용 :

  1. 관리자 권한으로 명령 프롬프트를 실행하십시오.
  2. psexec실행 파일이있는 위치로 이동하십시오 .
  3. .\psexec -s -i cmd.exe새 cmd 창을 열려면 실행하십시오 .
  4. 새 cmd 창에서 taskschd.msc(또는 %windir%\system32\taskschd.msc)를 실행하십시오 .
  5. 이전과 같이 작업을 편집하십시오. 자격 증명을 묻는 메시지가 표시되지 않아야합니다.

Windows가 컴퓨터를 절전 모드에서 해제하여 강제로 재부팅 할 때이 솔루션을 찾기 시작했습니다. 문제는 부트 로더가 입력을 기다리는 동안 CPU를 100 % 고정합니다. 이런 일이 생길 때 종종 랩탑이 닫히고 만져집니다. 아침에 부트 로더에 앉아 모든 팬을 켜고 나서 데스크탑이 걱정 스럽지만 정상적으로 작동하지 않았습니다.


2
약 한 달이 지났으며 업데이트로 컴퓨터가 다시 부팅되는 것을 막기 위해 아무 것도하지 않았다는 것을 확인할 수 있습니다.
jkiv

내 솔루션을 사용해보십시오.
AveYo

1

windows_update_reboot_toggle.bat
보호 된 재부팅 및 깨우기 작업을 비활성화합니다. 외부 도구가 필요하지 않습니다. 내장 된 실행 취소

@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

0

"집"이라고 말할 때 당연히 Win 10 Home 대 Win 10 Pro를 의미합니까? Windows 10 Home에 여러 대의 컴퓨터가 있기 때문에 묻습니다. 대부분 관리자 암호가 표시되지 않은 상태에서 작업을 수정할 수 있지만 일부는 그렇지 않습니다. 홈 버전은 차이를 만들지 않으며 다른 것은 변경을 방해합니다.

업데이트를 수행하기 전에 Win 10을 새로 설치하여 작업을 수정할 수 있다고 생각합니다. 그러나 업데이트가 완료되면 작업과 같은 많은 시스템 기능을 제어 할 수 없게됩니다. 작업을 삭제해도 좋지 않습니다. 작업 내부의 트리거를 삭제 한 다음 새로 설치 한 후에는 모두 비활성화하십시오.


0

다음 경로로 이동하여 이전 작업을 백업하고 새로운 빈 작업을 만들어 비활성화 할 수있었습니다.

%windir%\System32\Tasks\Microsoft\Windows\UpdateOrchestrator

OS 버전에서 작동하지 않는 경우이 링크에서.bat 또는 레지스트리를 변경해 보십시오 . 문제가 발생할 수 있는지 잘 모르겠습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.