7

У меня 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», которое, очевидно, является одним из внутренних пользователей Windows. Я пытался использовать мой пароль, но безуспешно. Я изменил пользователя на своего пользователя и попробовал свой пароль, но безуспешно. Я включил пользователя "Администратор" и попробовал то же самое с этим пользователем, но также безуспешно.

Это сообщение выдает: "An error has occurred for task Reboot. Error message: The following error was reported: 2147943004" . Я не знаю правильного пользователя / пароля для изменения настроек, и я не знаю, как вступить во владение или изменить права доступа, чтобы он не запрашивал пользователя / пароль.

Я очень расстроен, что есть некоторые настройки, которые я не могу изменить на своем собственном компьютере, поэтому я хочу знать, почему и как получить соответствующие разрешения. Кажется, у меня та же проблема, что и у этого парня, но он так и не получил ответа о том, как изменить эту настройку. Ему удалось отключить его, я тоже это сделал, но все же я хочу знать, что я должен был сделать, чтобы изменить настройку, независимо от отключения задачи. Кроме того, он в win10pro, а я в win10home, поэтому у меня нет доступа к lusrmgr.msc или gpedit.msc .

6 ответов6

10

Успех. После долгих попыток это то, что у меня работает в Windows 10 Home. Скачать PSExec.

PSEXEC /S CMD.EXE
SCHTASKS /Change /tn "\Microsoft\Windows\UpdateOrchestrator\Reboot" / ОТКЛЮЧИТЬ
Вы должны получить: УСПЕХ: Параметры запланированной задачи "\Microsoft\Windows\UpdateOrchestrator\Reboot" были изменены.

6

Windows 10 дома [...]

расстроен, что есть некоторые настройки, которые я не могу изменить на моем собственном компьютере ... Я хочу знать почему

Вы отвечаете на свой вопрос. Дом для домашних пользователей, которые не обязательно имеют возможность управлять или поддерживать свои системы. Блокируя домашних пользователей от некоторых настроек, подобных этой, Microsoft предпринимает некоторые попытки предотвратить ужасы эпохи XP с непатчированными системами, когда люди отключали обновления, потому что они не понимают, почему они им нужны, и последствия их отсутствия.

По поводу вашего вопроса. S-1-5-18 - это пользователь LocalSystem, это учетная запись с высокими привилегиями, которая не должна мешать обычным пользователям, даже администраторам, изо дня в день.

Идея состоит в том, что мы контролируем окна с помощью инструментов пользовательского пространства, и операционная система внесет необходимые изменения в базовые процессы, которые выполняются как система. Отсюда ваша неспособность взять под контроль задачу, которую вы упоминаете. Теория заключается в том, что вы ничего не меняете здесь, вы должны менять их в графическом интерфейсе, к которому вы получаете доступ через обычное окно настроек.

Однако есть приемы, которые вы можете использовать, чтобы обойти эти средства защиты.

Для запуска с привилегиями SYSTEM вы можете сделать следующее:

  • Получить копию PSEXEC от sysinternals
  • Запустите следующее в административном окне CMD
    • PSEXEC /S CMD.EXE

Это даст вам командную оболочку, запущенную как SYSTEM в сеансе 0. Отсюда вы можете выполнять команды от имени этого пользователя, что означает, что вы сможете изменить функцию этих запланированных задач

SCHTASKS /Change - ваш наиболее вероятный вариант, отсюда вы можете взять на себя управление задачами, остановить, запустить, удалить

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
1

Я использую Windows 10 Pro и у меня была похожая проблема. Я не смог изменить настройку "Разбудить компьютер для выполнения этой задачи" в задаче перезагрузки с помощью пользовательского интерфейса планировщика задач, но обнаружил, что в итоге смог использовать этот метод:

Используя psexec, как предложил Патрик:

  1. Запустите командную строку от имени администратора.
  2. Перейдите туда, где находится исполняемый файл psexec .
  3. Запустите .\psexec -s -i cmd.exe чтобы открыть новое окно cmd.
  4. В новом окне cmd запустите taskschd.msc (или %windir%\system32\taskschd.msc).
  5. Отредактируйте свою задачу как прежде. Вам не нужно запрашивать учетные данные.

Я начал искать решение для этого, когда Windows выводит мой компьютер из спящего режима, чтобы вызвать перезагрузку. Проблема в том, что мой загрузчик закрепляет процессор на 100%, пока он ждет моего ввода. Мой ноутбук часто закрывается, когда это происходит, и он становится горячим на ощупь. Я тоже переживаю за свой рабочий стол, который не работает нормально с тех пор, как я начал находить его сидящим за загрузчиком по утрам со всеми включенными фанатами.

0

Я смог отключить его, перейдя по следующему пути, сделав резервную копию старой задачи и сделав новую пустую.

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

Если это не работает в вашей версии ОС, попробуйте .bat или изменение реестра по этой ссылке, но я не знаю, может ли это вызвать проблемы для вас.

0

Когда вы говорите "дом", вы, конечно, имеете в виду Win 10 Home против Win 10 Pro? Я спрашиваю, потому что у меня есть несколько компьютеров, все Windows 10 Home, и большинство из них позволяют мне изменять задачи без всплывающего пароля администратора, но некоторые этого не делают. Домашняя версия не имеет значения, что-то еще предотвращает изменения.

Я бы рискнул предположить, что вы можете изменять задачи из чистой установки Win 10 ПЕРЕД тем, как вы делаете какие-либо обновления ... однако, как только обновления проходят, вы теряете контроль над многими функциями системы, такими как задачи. Удаление задач бесполезно, вы должны удалить триггеры внутри задач, а затем попытаться отключить их все после чистой установки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .