Files
AWatch-rus/docs/wiki/Windows-Collector-Suite.md
T
igor04091968 e658510442
CI / Rust checks (push) Canceled after 0s
CI / Docs and registry checks (push) Canceled after 0s
CI / Smoke checks (push) Canceled after 0s
Coverage / Coverage baseline (push) Canceled after 0s
Security / Cargo audit (push) Canceled after 0s
Security / Cargo deny (push) Canceled after 0s
Security / Secret pattern check (push) Canceled after 0s
Security / Dependency review (push) Canceled after 0s
Stabilize Windows logical host guard
2026-07-01 06:06:42 +03:00

69 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Windows Collector Suite
## 3. Windows collectors
Коммит `cc9e4a0` существенно усилил Windows/RDP контур, особенно `windows/worktime-session-collector.ps1` и общую recovery библиотеку `windows/ActivityWatch.Windows.Common.psm1`.
## Worktime Session Collector
`worktime-session-collector.ps1` получил крупное расширение: новые helper-функции для session/process state, отдельную публикацию session events и более строгую нормализацию buckets.
Ключевые изменения:
- `Ensure-Bucket` теперь принимает `ClientName` и `BucketType`, а не жестко прошитые значения;
- добавлена поддержка bucket `aw-session-events_<host>`;
- collector публикует logon/session state и process transitions, если это включено конфигурацией;
- session records лучше отделяют active/disconnected/unknown состояния;
- downstream server-side bridge получает более качественные `sessionId`, `username`, `sessionName` и activity markers.
## Process events
Флаг:
```yaml
aw_windows_process_events_enabled: false
```
Он попадает в deployment config как:
```json
sessionEvents.processEventsEnabled
```
По умолчанию флаг выключен во всех путях deploy/recovery: постоянная публикация process-level изменений в `aw-session-events_<host>` создает чрезмерный поток событий и быстро раздувает SQLite на AW server. Включать его следует только явно и временно для forensic/debug окна, после чего возвращать `false`.
## Localized Administrator
Новый параметр:
```yaml
aw_windows_builtin_administrator_name: "Администратор"
```
Назначение: явно фиксировать локализованное имя встроенной учетной записи Administrator с SID `*-500`.
Task name должен строиться из stable ActivityWatch logical host id и локализованного имени пользователя. Для текущего DetMir production historical logical id остаётся `SHARKON2025`, даже если физический `COMPUTERNAME` RDP-сервера изменён:
```text
ActivityWatch Launch [SHARKON2025_Администратор]
```
Если task по `<logical-host>_Administrator` не найден, recovery/deploy path обязан пробовать кириллическое имя `Администратор`. Это зафиксировано через:
- default vars в `ansible/deploy_aw_windows.yml`;
- `ansible/group_vars/aw_windows.yml`;
- example vars в `ansible/group_vars/windows.example.yml`;
- env override `AWATCH_RUS_BUILTIN_ADMINISTRATOR_NAME`;
- fallback в `Get-ActivityWatchBuiltInAdministratorName`.
## Recovery hardening
`ActivityWatch.Windows.Common.psm1` усилил recovery path:
- `Get-ActivityWatchBuiltInAdministratorName` сначала смотрит env override, затем SID-500 lookup, затем общий fallback `Administrator`;
- `Normalize-ActivityWatchUsers` стабилизирован для pipeline/list cases;
- удаление scheduled tasks стало устойчивее к частично удаленным task definitions;
- recovery task может ориентироваться на live interactive session и запускаться в interactive logon context, когда это безопаснее для watcher'ов.
Операционный вывод: для RDP/console telemetry нельзя полагаться на task name с английским `Administrator` на русифицированной Windows. Локализованное имя должно быть частью deploy vars, а `awHostname` должен оставаться stable logical id и не обязан совпадать с физическим именем Windows.