Хотите отложить запуск программы, но не можете найти её в Планировщике заданий

Вопрос или проблема

Я пытаюсь отложить запуск конкретной программы, которая загружается при входе в систему. Согласно ответу на этот вопрос, я должен иметь возможность сделать это с помощью Планировщика заданий. Проблема в том, что я не могу найти программу в списке. Есть ли определенная панель, которую мне стоит проверить? Программа – Razer Synapse, поэтому я не думаю, что она будет в папках Microsoft или Western Digital.

скриншот моего планировщика заданий

Если ее нет в Планировщике заданий, есть ли другой способ отложить ее запуск при старте?

Из любопытства, сколько способов существует, чтобы программа запускалась при старте в Windows?

Я не могу найти программу в списке.

Существует множество мест, откуда программы могут запускаться при старте. Вам нужно проверить все эти места до тех пор, пока вы не найдете нужную программу.

Есть несколько программ, которые позволяют легко проверять местоположения автозагрузки.

  1. msconfig (вкладка “Автозагрузка”):

    введите описание изображения здесь

  2. Autoruns от SysInternals:

    введите описание изображения здесь

  3. WhatInStartup от NirSoft:

    введите описание изображения здесь

  4. WinPatrol:

    введите описание изображения здесь

    Примечание:

    • WinPatrol позволяет перемещать программы из “Программ автозагрузки” в “Отложенный запуск”

    • Вы можете указать время задержки, если сделаете это.

      введите описание изображения здесь


Сколько способов существует для запуска программы при старте в Windows?

Существует как минимум 17 мест, откуда могут запускаться программы:

  1. Драйверы загрузки Windows
  2. Службы и драйверы автозагрузки Windows
  3. RunServicesOnce
  4. RunServices
  5. Notify
  6. Ключ UserInit
  7. Значение Shell
  8. Ключ RunOnce для локальной машины
  9. Run
  10. Папка автозагрузки для всех пользователей
  11. Папка автозагрузки для профиля пользователя
  12. Ключ RunOnce для текущего пользователя
  13. Explorer Run
  14. Load Key
  15. AppInit_DLLs
  16. ShellServiceObjectDelayLoad
  17. SharedTaskScheduler

Источник: Автоматические местоположения запуска программ в Windows

Смотрите вышеуказанную ссылку для подробного описания каждого из этих 17 мест.


Отказ от ответственности

Я никоим образом не связан с SysInternals, Nirsoft или WinPatrol, я просто конечный пользователь программного обеспечения.


Дополнительное чтение

Если ваша программа недоступна в Планировщике заданий, то она может находиться в Реестре, папке автозагрузки или работать как фоновая служба.

Расположение папки автозагрузки для всех пользователей следующее:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

Расположение папки автозагрузки для текущего пользователя следующее:
C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Расположение реестра автозагрузки для всех пользователей следующее:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce

Расположение реестра автозагрузки для текущего пользователя следующее:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce

Как только вы найдете название вашей программы, вы можете безопасно отключить ее и создать новую задачу в Планировщике заданий, отложив запуск по вашему желанию.

Если вы не можете найти свою программу в вышеуказанных местах, то она может находиться в консоли служб. Нажмите кнопку “Пуск” и введите services.msc, чтобы открыть управление службами, и вы найдете свою программу там.

Вы можете скачать Autoruns из комплекта SysInternal от Microsoft и самостоятельно просмотреть множество программ автозагрузки.

Я создал пакетный файл, чтобы найти местоположение vbs вредоносного ПО и получить его исходный код из папок автозагрузки:

Processes_Services_Tasks_Startup.bat

@echo off
cls & color 9E & Mode 95,5
Title Запущенные процессы - Запланированные задачи - Сервисы - Элементы автозагрузки от Hackoo 2020
If [%1] NEQ [Admin] Goto RunAsAdmin

echo(
echo(                ===========================================================
echo(                    Пожалуйста, подождите немного ... Идет работа....
echo(                ===========================================================

Set "Filter_Ext=%Temp%\Filter_Ext"
Call :GetFileNameWithDateTime MyDate
Set "Log=%~dpn0_%Computername%_%MyDate%.txt"
Set "Lnk_Target_Path_Log=%~dp0Lnk_Target_Path_Log.txt"
Set "All_Users=%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup"
Set "Current_User=%UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
set "Winlogonkey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
Set StartupFolders="%All_Users%" "%Current_User%"
If Exist "%Log%" Del "%Log%"
Set "VbsFile=%Tmp%\%~n0.vbs"
Call :Generate_VBS_File

  Powershell ^
  Get-WmiObject Win32_Process ^
| where commandline -NE $null ^
| Select-Object ProcessID,Name,CommandLine ^
| Out-String -Width 450 ^
| Findstr /I /V "Admin" ^
| Findstr /I /V "Get-WmiObject" ^
| Out-File "%Log%" -Encoding  ASCII 

  Powershell ^
  Get-CimInstance Win32_StartupCommand ^
| Select-Object Name,command,Location,user ^
| Format-List ^
| Out-File -Append "%Log%" -Encoding  ASCII

>"%Lnk_Target_Path_Log%" (
    @For %%A in (%StartupFolders%) Do (
        Call :Execute_VBS_File "%%~A"
    )
)

>> "%Log%" (Type "%Lnk_Target_Path_Log%")

> "%Filter_Ext%" (
    echo .vbs
    echo .vbe
    echo .js
    echo .jse
    echo .hta
    echo .bat
    echo .cmd
    echo .ps1
)

@for /f "delims=" %%a in ('Type "%Lnk_Target_Path_Log%" ^| Findstr /I /G:"%Filter_Ext%"') do (
    @for /f "tokens=2 delims==" %%b in ('echo %%a') do (
        >> "%Log%" 2>&1 (
            echo(
            echo ===================================================================================
            echo( Исходный код TargetPath=%%b
            echo ===================================================================================
            Type %%b
        )
    )
)

Del "%Filter_Ext%" /F >nul 2>&1
Del "%Lnk_Target_Path_Log%" >nul 2>&1
SetLocal EnableDelayedExpansion
>> "%Log%" (
    echo(
    echo ****************************************************************************************************
    echo(                                 Список запланированных задач Microsoft отсутствует
    echo ****************************************************************************************************
    @For /F "tokens=2,9,17,19,20,21,22 delims=," %%a in ('SCHTASKS /Query /NH /FO CSV /V ^|find /I /V "Microsoft" ^|findstr /I /C:"VBS" /C:"EXE"') do (
        Set TaskName=%%~a
        Set TaskPath=%%~b
        Call :Trim_Dequote !TaskName! TaskName
        Call :Trim_Dequote !TaskPath! TaskPath
        echo "!TaskName!"
        echo "!TaskPath!"
        echo %%c;%%d;%%f;%%g
        echo( ---------------------------------------------------------------------------------------------------
    )
)

>> "%Log%" (
    echo(
    echo ****************************************************************************************************
    echo(                                 Список служб Microsoft отсутствует
    echo ****************************************************************************************************
@for /f "tokens=*" %%a in (
    'WMIC service where "Not PathName like '%%Micro%%' AND Not PathName like '%%Windows%%'" get Name^,DisplayName^,PathName^,Status'
    ) do (
        @for /f "delims=" %%b in ("%%a") do (
            echo %%b
            )
    )
)

>> "%Log%" (
    echo(
    echo ****************************************************************************************************
    Reg Query "%Winlogonkey%" | find /I "userinit"
)

If Exist "%Log%" Start /MAX "Log" "%Log%" & Exit 
::-----------------------------------------------------------------------------------
:Trim_Dequote <Var> <NewVar>
(
    echo    Wscript.echo Trim_Dequote("%~1"^)
    echo    Function Trim_Dequote(S^)
    echo    If Left(S, 1^) = """" And Right(S, 1^) = """" Then Trim_Dequote = Trim(Mid(S, 2, Len(S^) - 2^)^) Else Trim_Dequote = Trim(S^)
    echo    End Function
)>"%VbsFile%"
for /f "delims=" %%a in ('Cscript //nologo "%VbsFile%"') do ( 
    set "%2=%%a" 
)
Del "%VbsFile%" /F >nul 2>&1
exit /b
REM ------------------------------------------------------------------------------
:GetFileNameWithDateTime <FileName>
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set "MyDate=%%x"
set "%1=%MyDate:~0,4%-%MyDate:~4,2%-%MyDate:~6,2%-%MyDate:~8,2%-%MyDate:~10,2%"
Exit /B
REM -----------------------------------------------------------------------------
:Generate_VBS_File
>"%VbsFile%" ( 
    echo    Option Explicit
    echo    Dim Ws,objStartFolder,objFSO,objFolder,colFiles
    echo    Dim objFile,strFilePath,Lnk,Title
    echo    Title = "Извлечение целевого пути из файлов .lnk и .url от Hackoo 2020"
    echo    Set Ws = CreateObject("Wscript.Shell"^)
    echo    If WSH.Arguments.Count = 0 Then MsgBox "Отсутствуют аргументы",vbExclamation,Title : Wscript.Quit(1^)
    echo    objStartFolder = WSH.Arguments(0^)
    echo    Set objFSO = CreateObject("Scripting.FileSystemObject"^)
    echo    Set objFolder = objFSO.GetFolder(objStartFolder^)
    echo    Set colFiles = objFolder.Files
    echo    For Each objFile in colFiles
    echo    strFilePath = objFile.Path
    echo      If Ucase(objFSO.GetExtensionName(strFilePath^)^) = "LNK"_
    echo       Or Ucase(objFSO.GetExtensionName(strFilePath^)^) = "URL" Then
    echo          Call ExtractTargetPath(strFilePath^)
    echo      End If
    echo    Next
    echo    '-------------------------------------------------------------
    echo    Sub ExtractTargetPath(Lnk^)
    echo    set Lnk = Ws.Createshortcut(Lnk^)
    echo    WScript.echo "Link="^& DblQuote(Lnk^) ^& vbcrlf ^&_
    echo    "Target="^& DblQuote(Lnk.TargetPath^) ^& vbcrlf ^&_
    echo    String(100,"-"^)
    echo    End Sub
    echo    '-------------------------------------------------------------
    echo    Function DblQuote(Str^)
    echo        DblQuote = Chr(34^) ^& Str ^& Chr(34^)
    echo    End Function
    echo    '-------------------------------------------------------------
)
Exit /B
REM -----------------------------------------------------------------------------
:Execute_VBS_File
cscript //nologo "%VbsFile%" "%~1"
Exit /B
REM -----------------------------------------------------------------------------
:RunAsAdmin
cls & color 9E & Mode 95,5
echo(
echo(               ===========================================================
echo(                    Пожалуйста, подождите немного ... Запуск от имени администратора ....
echo(               ===========================================================
Powershell start -verb runas '%0' Admin & Exit
REM ----------------------------------------------------------------------------- 

Ответ или решение

Если вы хотите задержать запуск программы Razer Synapse, но не можете найти её в планировщике задач, это может быть связано с тем, что программа запускается через другой механизм. В Windows существует несколько способов, с помощью которых программы могут запускаться при загрузке системы. Давайте рассмотрим, как вы можете это сделать и какие шаги предпринять.

Поиск в Планировщике задач

Первым делом, откройте Планировщик задач. Вы можете поискать задачу, связанную с Razer Synapse, в различных папках:

  1. Библиотека задач: В левом меню выберите "Библиотека планировщика задач" и просмотрите все заданные задачи.
  2. Система / Службы: Иногда задачи могут находиться в таких подпапках, как "Microsoft" или "Razer", поэтому обратите внимание на все доступные папки.

Если вы не нашли ее в Планировщике задач, возможно, она запускается через:

Другие Методы Запуска Программ

В Windows программы могут запускаться несколькими способами:

  1. Папки автозагрузки:

    • Для всех пользователей: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
    • Для текущего пользователя: C:\Users\Имя_Пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
  2. Реестр:

    • Ключи реестра для всех пользователей: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
    • Ключи реестра для текущего пользователя: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  3. Службы Windows:

    • Некоторые программы могут быть запущены как службы. Откройте services.msc и просмотрите список служб, чтобы найти Razer Synapse.
  4. Использование сторонних утилит:

    • Autoruns: Это программа от SysInternals, которая позволяет увидеть все элементы автозагрузки в одной таблице. Вы можете скачать её здесь.
    • WhatInStartup от NirSoft: Альтернативный инструмент для управления автозагрузкой.

Задержка Запуска Программы

Если вам удалось найти Razer Synapse в одном из этих мест, вы можете либо удалить ее оттуда, либо создать новую задачу в Планировщике задач с задержкой:

  1. Откройте Планировщик задач.
  2. Нажмите на "Создать задачу".
  3. В "Триггеры" выберите "При входе в систему".
  4. Выберите "Дополнительно" и установите задержку с помощью параметра "Отложить на" (например, 30 секунд).
  5. В разделе "Действия" выберите "Запустить программу" и укажите путь к Razer Synapse.

Заключение

Ваша проблема может быть решена, если правильно определить, как Razer Synapse запускается автоматически. После этого вы сможете настроить задержку его запуска через Планировщик задач. Если у вас есть еще вопросы или вы хотите узнать больше о других программных способах, не стесняйтесь спрашивать.

Оцените материал
Добавить комментарий

Капча загружается...