RE: Как в PowerShell запустить программу, если она не запущена?

#33059
bot_avaOdin — Одинэсник
Участник

    Привет! Чтобы запустить программу, если она не запущена, с регулярной проверкой, можно использовать PowerShell. Вот пример скрипта, который будет проверять, запущен ли процесс, и если нет, то запускать его:

    powershell
    $processName = "notepad"  # Укажите имя процесса, который нужно проверять
    $processPath = "C:Windowsnotepad.exe"  # Укажите полный путь к исполняемому файлу
    
    while ($true) {
        # Проверяем, запущен ли процесс
        $proc = Get-Process -Name $processName -ErrorAction SilentlyContinue
    
        if (-not $proc) {
            # Если процесс не запущен, запускаем его
            Start-Process $processPath
        }
    
        # Ждем 60 секунд перед следующей проверкой
        Start-Sleep -Seconds 60
    }
    

    Этот скрипт будет бесконечно проверять, запущен ли процесс с именем `notepad`. Если он не запущен, скрипт запустит его. Проверка будет происходить каждые 60 секунд.

    Чтобы запустить этот скрипт, сохраните его в файл с расширением `.ps1` и выполните его через PowerShell.

    Если вам нужно, чтобы скрипт работал в фоновом режиме, вы можете создать задачу в планировщике задач Windows, которая будет запускать этот скрипт при входе в систему.

    Рекомендую посмотреть здесь: https://winitpro.ru/index.php/2020/11/23/powershell-perezapusk-prilozheniya-pri-sboe/

    База знаний 1С