Сложный кейс

Удалённый ПК забирает сценарий с сервера и запускает автоматически

Самый продвинутый сценарий: ПК в офисе без постоянного оператора сам забирает нужный сценарий с вашего сервера и выполняет его. Нет нужды присутствовать физически или подключаться по RDP каждый раз.

Концепция: управление через HTTP

Вместо того чтобы физически обновлять макрос на каждой машине, храним файл макроса на веб-сервере. Каждый ПК при старте скачивает актуальную версию и запускает. Преимущества очевидны: обновление сценария на одном сервере → все машины подхватывают автоматически; история версий через смену URL; логирование запусков через HTTP-запросы к серверу.

Для кого это: необслуживаемые киоски, офисные ПК в удалённых точках, ночные рабочие станции, которые должны выполнять задачи без присутствия оператора.

Загрузочный макрос

Создаём небольшой постоянный макрос-загрузчик, который живёт на каждой машине. Его единственная задача — скачать актуальный рабочий макрос с сервера и запустить его. Загрузчик не меняется; меняется только рабочий макрос на сервере.

# bootstrap.repio — постоянный макрос на каждой машине
# Шаг 1: Скачиваем актуальный макрос с сервера
run,powershell,,,200
type,Invoke-WebRequest -Uri "https://your-server.com/macros/worker.repio" -OutFile "$env:TEMP\worker.repio",,,80
key,Return,,,3000,Ждём скачивания
type,exit,,,50
key,Return,,,500,Закрыть PowerShell

# Шаг 2: Запускаем скачанный макрос
run,"C:\Program Files\Repio\repio.exe","--run %TEMP%\worker.repio",,2000

Настройка сервера

Подойдёт любой HTTP-сервер. Простейший вариант для быстрого старта — Python в одну строку:

python -m http.server 8080

Запустите в папке с макросами. Для production используйте nginx или Apache. Файл worker.repio должен быть доступен по публичному URL. Обновляйте файл на сервере — все машины подхватят при следующем старте.

Безопасность: ограничьте доступ к серверу по IP (только офисные адреса) или добавьте HTTP Basic Auth. Макрос может содержать бизнес-логику которую не стоит открывать всем.

Автозапуск при старте системы

Размещаем ярлык bootstrap.repio в папке «Автозагрузка» Windows (shell:startup) или создаём задачу в Планировщике с триггером «При входе в систему». Это гарантирует запуск загрузчика при каждом старте ПК — даже после внезапного отключения питания.

Логирование выполнения

Добавляем в начало worker.repio HTTP-запрос для логирования:

Invoke-WebRequest -Uri "https://your-server.com/log?machine=$env:COMPUTERNAME&time=$(Get-Date -Format 'yyyy-MM-dd_HH:mm')" -Method GET

Теперь на сервере есть лог: какая машина запустила макрос и когда. Если машина не появилась в логе в ожидаемое время — что-то пошло не так.

Советы для продвинутого сценария

  • Добавьте проверку подключения к сети перед скачиванием; при отсутствии сети — запустить предыдущую кешированную версию.
  • Используйте версионирование: worker_v2.repio, worker_v3.repio. Можно откатиться на предыдущую версию сменив URL в загрузчике.
  • Добавьте timeout для скачивания: если сервер недоступен дольше 30 сек — запустить локальную копию.
Важно: используйте этот подход только на машинах и в сетях, которые вам принадлежат или на которые есть разрешение. Удалённое выполнение кода без ведома владельца — это не автоматизация, а взлом.

Готовы к продвинутой автоматизации?

Скачайте Repio PRO и разблокируйте все возможности: веб-хуки, запуск программ, условные действия.

Скачать Repio бесплатно