Як додати програму в автозапуск Windows різними способами

4 хв читання

Чотири способи додати програму в автозапуск Windows: через Task Manager, папку автозавантаження, реєстр і Task Scheduler. Коли використовувати кожен і як видалити.

Іноді потрібно щоб програма запускалась автоматично разом з Windows. Ось всі правильні способи це зробити.


Спосіб 1: Папка автозавантаження

Найпростіший — помісти ярлик програми в папку Startup.

Win + Rshell:startup — відкриє папку поточного користувача

Скопіюй або створи ярлик потрібної програми в цю папку.

Для всіх користувачів: Win + Rshell:common startup


Спосіб 2: Через реєстр

# Додати для поточного користувача
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" `
  -Name "MyApp" -Value "C:\Path\To\App.exe"

# Додати для всіх користувачів (потребує адміністратора)
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" `
  -Name "MyApp" -Value "C:\Path\To\App.exe"

# Видалити
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" `
  -Name "MyApp"

Спосіб 3: Task Scheduler (найгнучкіший)

Дозволяє запускати з правами адміністратора, із затримкою, або тільки при підключенні до мережі.

$action = New-ScheduledTaskAction `
  -Execute "C:\Path\To\App.exe" `
  -Argument "--minimized"

$trigger = New-ScheduledTaskTrigger -AtLogOn

$settings = New-ScheduledTaskSettingsSet `
  -ExecutionTimeLimit (New-TimeSpan -Hours 0) `  # Без ліміту часу
  -AllowStartIfOnBatteries $true

Register-ScheduledTask -TaskName "MyAppStartup" `
  -Action $action -Trigger $trigger -Settings $settings `
  -RunLevel Highest `  # З правами адміністратора
  -Force

-RunLevel Highest — запускає з правами адміністратора без UAC запиту.


Спосіб 4: Через Task Manager

Ctrl + Shift + EscАвтозавантаження → правий клік → Відкрити розташування файлу (щоб знайти де програма вже є) або Увімкнути якщо вона є але вимкнена.

Додати нову програму через Task Manager напряму не можна — тільки керувати існуючими.


Запуск з затримкою (щоб не гальмувати завантаження)

# Запустити програму через 2 хвилини після входу
$action = New-ScheduledTaskAction -Execute "C:\Path\To\App.exe"
$trigger = New-ScheduledTaskTrigger -AtLogOn
$trigger.Delay = "PT2M"  # 2 хвилини затримки

Register-ScheduledTask -TaskName "DelayedStartup" `
  -Action $action -Trigger $trigger -Force

Переглянути все що автозапускається

# З реєстру
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"
Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"

# З Task Scheduler
Get-ScheduledTask | Where-Object {
  $_.Triggers | Where-Object {$_ -is [CimInstance] -and $_.CimClass.CimClassName -like "*Logon*"}
}

Або використай Autoruns від Sysinternals — показує абсолютно все що запускається.


Резюме

Для звичайних програм: ярлик в shell:startup. Для програм що потребують прав адміністратора: Task Scheduler з RunLevel Highest. Для скриптів і програм з параметрами: реєстр або Task Scheduler. Перегляд усього автозапуску: Autoruns.

Схожі статті

← Всі статті