---
title: MMFB — Effector Saver Agent не стартует, .\Администратор залочен
date: 2026-05-28
tags: [mmfb, lionart, effector-saver, windows-service, decision]
status: resolved
---

# MMFB / LionART 1C — Effector Saver Agent не стартует, `.\Администратор` залочен

## Контекст
[[../projects/mmfb/lionart-1c|VM 100 pve LionART]] (`WIN-70M2VEJIKEF`, 10.253.1.240, Win Server 2022). Служба `efsaveragent` (Effector Saver Agent, `C:\Program Files\Effector Saver\fagent.exe`) в Stopped/Auto, не стартует.

## Диагноз
Цепочка Event Log → SCM:

```
7038  Службе "efsaveragent" не удалось войти в систему с именем ".\Администратор"
       и текущим паролем, поскольку произошла ошибка
7000  Сбой при запуске службы "Effector Saver Agent"
```

Это повторялось каждую минуту в течение последних минут. SCM хранит пароль учётки отдельно от LSA — пароль `.\Администратор` менялся (или Effector ставили со старой парой), а SCM-секрет не обновили.

Дополнительно: попытки SCM × мои WinRM-пробы залочили учётку.

```powershell
# Через LogonUser API:
LogonUser SERVICE     : False  (err=1909)   # ERROR_ACCOUNT_LOCKED_OUT
LogonUser INTERACTIVE : False  (err=1909)
LogonUser NETWORK     : False  (err=1909)

# Через ADSI:
$u = [ADSI]"WinNT://./Администратор,user"
$u.IsAccountLocked  → True
$u.BadPasswordAttempts → 10
```

## Решение (порядок важен)

```powershell
# 1. Заглушить SCM, чтобы он перестал каждую минуту ломиться с неверным паролем
sc.exe config efsaveragent start= disabled
sc.exe stop efsaveragent

# 2. Разблокировать учётку (Set-LocalUser не имеет lockout-поля → через ADSI)
$u = [ADSI]"WinNT://./Администратор,user"
$u.IsAccountLocked = 0
$u.SetInfo()

# 3. Проверить пароль через LogonUser(LOGON32_LOGON_SERVICE=5) — тот же путь, что использует SCM.
#    Если False — не пиши пароль в SCM, иначе сразу опять залочишь.
#    Если True — пароль валидный, прошиваем:

sc.exe config efsaveragent obj= ".\Администратор" password= "<актуальный_пароль>"
sc.exe config efsaveragent start= auto
sc.exe start efsaveragent
```

После старта:
- `efsaveragent` в Running, PID 9104, fagent.exe, 28 MB
- Новых 7038/7000 — нет
- Аккаунт остаётся разлоченным

## Уроки
- При **7038** не паникуй с lockout: сначала **остановить службу** (или переключить на disabled), потом разблокировать.
- При WinRM-failed-login проверяй lockout первым делом (через `[ADSI]"WinNT://./<user>,user"` поле `IsAccountLocked`) — не подбирай пароль вслепую, иначе добиваешь счётчик.
- `Set-LocalUser` не умеет снимать lockout — только ADSI или `net user`-с-новым-паролем.
- Не доверяй `BadPasswordAttempts: 0` после разблока — этот счётчик не сразу обнуляется; смотри сам `IsAccountLocked`.

## Открытые вопросы
- Почему пароль `Администратор` в SCM разошёлся с фактом — не выяснено. `PasswordLastSet = 06.05.2024`, установка Effector Saver — 16.02.2025. Возможно, инсталлер прописал тестовый пароль, или пароль менялся без обновления службы.
- Стоит ли увести `efsaveragent` на отдельную сервисную учётку без password-expiry (например, `.\Effector Saver`, которая уже имеет `SeServiceLogonRight`) — выяснить, что Effector Saver кладёт по сети: если UNC с админ-кредами, миграция нетривиальна.
