13 KiB
Матрица PowerShell-скриптов AWatch-rus
Дата актуализации: 2026-06-17
Документ фиксирует фактический статус оставшихся PowerShell-файлов после перехода на Rust-first контур. Это не означает, что PowerShell полностью удален. Цель матрицы: отделить рабочий runtime от установочных действий, аварийного отката и устаревших проверочных скриптов.
В tracked документации не публикуются имена рабочих хостов, private IP, учетные записи, токены и runtime evidence paths. Live-проверка выполнялась по фактическим Scheduled Tasks, процессам и deployment config, но приватные идентификаторы здесь заменены на обобщенные описания.
Классы
| Класс | Значение |
|---|---|
runtime |
Скрипт участвует в штатном выполнении или является зависимостью штатного выполнения. |
installer |
Скрипт нужен для установки, настройки, проверки или ремонта, но не должен постоянно работать. |
fallback |
Скрипт оставлен как аварийный откат или reference-слой после перевода штатного пути на Rust. |
obsolete |
Скрипт не нужен для штатной работы; кандидат на удаление после проверки ссылок и задач. |
Фактический runtime-базис
Штатный контур уже Rust-first для основных Windows-сборщиков:
- загрузка 1C/file telemetry выполняется через
aw-windows-telemetry.exe file1c-upload; - синхронизация DLP evidence выполняется через
aw-windows-telemetry.exe dlp-evidence-sync; - browser/DLP/file-operations collectors выполняются через подкоманды
aw-windows-telemetry.exe; - учет рабочего времени выполняется через
awatch-agent-rs.exe; - collector guard выполняется через
aw-windows-telemetry.exe collector-guard.
Оставшийся рабочий PowerShell runtime на момент проверки:
- сгенерированный recovery loop;
- сгенерированный per-user launcher;
- Hayabusa/EVTX upload path.
Runtime и generated runtime
| Файл | Класс | Фактическая роль | Штатный путь сейчас | Решение |
|---|---|---|---|---|
C:\ProgramData\AWatch-rus\launch-watchers.ps1 |
runtime |
Сгенерированный пользовательский launcher для watchers/collectors. | Запускается через скрытый VBS-wrapper из per-user Scheduled Tasks. | Оставить до замены launcher-а на Rust/service-friendly task reconciler. |
C:\ProgramData\AWatch-rus\recovery-loop.ps1 |
runtime |
Сгенерированный recovery loop. | Запускается через скрытый VBS-wrapper из recovery Scheduled Task. | Мигрировать в Rust recovery/guard, затем убрать PowerShell runtime. |
windows/export-upload-hayabusa-to-aw-server.ps1 |
runtime |
Выгрузка Hayabusa/EVTX evidence на сервер. | Используется отдельной Scheduled Task. | P1: перенести в aw-windows-telemetry.exe или отдельный Rust EXE. До миграции не удалять. |
windows/export-evtx-for-hayabusa.ps1 |
runtime |
Экспорт EVTX для Hayabusa upload path. | Используется как зависимость Hayabusa upload path. | P1: перенести bounded EVTX export в Rust. До миграции не удалять. |
Fallback после Rust-first миграции
| Файл | Класс | Фактическая роль | Штатный путь сейчас | Решение |
|---|---|---|---|---|
windows/worktime-session-collector.ps1 |
fallback |
Legacy worktime/RDP collector. | awatch-agent-rs.exe является основным runtime. |
Оставить до отключения worktimeLegacyFallbackEnabled после acceptance gate. |
windows/browser-domains-native-collector.ps1 |
fallback |
Legacy browser/domain collector. | aw-windows-telemetry.exe browser-domains-collector является основным runtime. |
Оставить как rollback/reference до расширенной parity-проверки. |
windows/dlp-endpoint-signals-collector.ps1 |
fallback |
Legacy DLP endpoint collector. | aw-windows-telemetry.exe dlp-endpoint-collector является основным runtime. |
Оставить как rollback/reference до расширенной parity-проверки. |
windows/file-operations-collector.ps1 |
fallback |
Legacy file operations collector. | aw-windows-telemetry.exe file-operations-collector является основным runtime. |
Оставить как rollback/reference до расширенной parity-проверки. |
windows/dlp-policy-client.ps1 |
fallback |
Получение policy для PowerShell DLP collector. | Нужен только если включается legacy DLP collector. | Удалять вместе с PowerShell DLP fallback, не раньше. |
windows/export-upload-file-1c-telemetry.ps1 |
fallback |
Legacy 1C/file telemetry upload. | aw-windows-telemetry.exe file1c-upload является основным runtime. |
Оставить rollback до нескольких успешных циклов production upload. |
windows/sync-dlp-evidence-artifacts.ps1 |
fallback |
Legacy DLP evidence sync. | aw-windows-telemetry.exe dlp-evidence-sync является основным runtime. |
Оставить rollback до закрепления Rust evidence sync. |
windows/aw-collector-guard.ps1 |
fallback |
Legacy collector guard. | aw-windows-telemetry.exe collector-guard является основным runtime. |
Оставить rollback до подтверждения guard/recovery parity. |
windows/aw-standalone-service.ps1 |
fallback |
Legacy standalone supervisor wrapper. | Не является целевым runtime для нового Rust-first контура. | Держать только для отката старого install-kit, затем удалить. |
Installer, repair и operator layer
| Файл | Класс | Фактическая роль | Штатный путь сейчас | Решение |
|---|---|---|---|---|
windows/ActivityWatch.Windows.Common.psm1 |
installer |
Общие PowerShell-функции для установки/обслуживания. | Используется установочными и repair-скриптами. | Оставить до замены installer layer. |
windows/ActivityWatch.Windows.Common.psd1 |
installer |
Manifest общего PowerShell-модуля. | Используется вместе с .psm1. |
Оставить до замены installer layer. |
windows/deploy-single-user.ps1 |
installer |
Установка для одного пользователя. | Установочный сценарий, не постоянный runtime. | Постепенно заменить Rust bootstrap/Ansible action. |
windows/deploy-domain-users.ps1 |
installer |
Установка для доменных пользователей. | Установочный сценарий, не постоянный runtime. | Постепенно заменить Rust bootstrap/Ansible action. |
windows/deploy-ensemble.ps1 |
installer |
Оркестрация Windows-компонентов установки. | Установочный сценарий, не постоянный runtime. | Постепенно заменить Rust deploy coordinator или Ansible wrapper. |
windows/install-standalone-service.ps1 |
installer |
Установка standalone service. | Установочное действие. | Заменить Rust installer/bootstrap CLI. |
windows/install-collector-guard-service.ps1 |
installer |
Установка collector guard service. | Установочное действие. | Заменить Rust installer/bootstrap CLI. |
windows/install-dlp-client.ps1 |
installer |
Установка DLP client части. | Установочное действие. | Заменить Rust installer/bootstrap CLI. |
windows/migrate-awatch-rus-paths.ps1 |
installer |
Миграция путей AWatch-rus. | Разовое migration/repair действие. | Заменить Rust migration CLI с backup/dry-run. |
windows/rebuild-worktime-tasks.ps1 |
installer |
Пересборка worktime Scheduled Tasks. | Repair/installer действие. | Заменить Rust task reconciliation CLI. |
windows/fix-session-watchers.ps1 |
installer |
Ремонт watcher-ов по сессиям. | Repair действие. | Заменить Rust repair subcommand. |
windows/cleanup-disc-sessions.ps1 |
installer |
Очистка устаревших disconnected-session артефактов. | Maintenance/repair действие. | Заменить Rust maintenance subcommand. |
windows/hardening-recovery.ps1 |
installer |
Восстановление и hardening после повреждения установки. | Emergency repair, не постоянный runtime. | Заменить Rust recovery CLI; опасные действия только через явный apply-режим. |
windows/validate-deployment.ps1 |
installer |
Проверка установки. | Частично заменен aw-windows-telemetry.exe validate-deployment. |
Расширить Rust validation до полной parity, затем удалить .ps1. |
windows/audit-cryptopro.ps1 |
installer |
Аудит CryptoPro/сертификатного окружения. | Операторская проверка, не постоянный runtime. | Оставить до появления Rust audit CLI или отдельного Ansible-only gate. |
scripts/powershell/detmir-powershell-profile.ps1 |
installer |
Операторский PowerShell profile/helper. | Не является runtime AWatch-rus. | Оставить как operator helper, либо заменить документацией/CLI aliases. |
Obsolete / parked
| Файл | Класс | Фактическая роль | Штатный путь сейчас | Решение |
|---|---|---|---|---|
windows/run-user1-probe.ps1 |
obsolete |
Ручной диагностический probe одного пользователя. | Не нужен для штатного runtime. | Удалить после проверки отсутствия ссылок в runbook/CI/tasks. |
.pssa_run.ps1 |
obsolete |
Локальный helper для PSScriptAnalyzer. | Не является продуктовым компонентом. | Удалить после завершения PowerShell retirement или заменить CI-командой. |
windows/email-outbound-collector.ps1 |
obsolete |
Legacy outbound email metadata collector. | Функция не включена в текущий runtime. | Не возвращать в production как PowerShell; при необходимости реализовывать заново в Rust с отдельным privacy/legal gate. |
Правила дальнейшей миграции
Полное удаление PowerShell не входит в текущий pilot freeze. Это должна быть отдельная задача после подтверждения Rust parity и отката.
- Не удалять
runtimeиfallbackскрипты без burn-in/canary/rollback gate, acceptance gate и проверенного rollback-плана. - Любой PowerShell runtime, который остается в Scheduled Tasks или Services, должен иметь явный владелец, причину сохранения и целевой Rust replacement.
installer-скрипты можно заменять постепенно: сначала Rust dry-run и structured report, затем apply-режим, затем удаление PowerShell layer.obsolete-скрипты удалять только послеrg-проверки ссылок, проверки Scheduled Tasks/Services и контрольного deploy/validation прогона.- Новые runtime-функции не добавлять на PowerShell. Для runtime, long-running collectors, upload, guard и validation целевой путь: Rust EXE или service.
- Pilot freeze не является основанием для автоматического удаления PowerShell layer: оставшиеся runtime/fallback пути сохраняются до подтвержденной стабильности Rust replacement, canary-наблюдения и документированного отката.