Удалённый ПК забирает сценарий с сервера и запускает автоматически
Самый продвинутый сценарий: ПК в офисе без постоянного оператора сам забирает нужный сценарий с вашего сервера и выполняет его. Нет нужды присутствовать физически или подключаться по 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. Обновляйте файл на сервере — все машины подхватят при следующем старте.
Автозапуск при старте системы
Размещаем ярлык 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 бесплатно