--- 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"` поле `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 с админ-кредами, миграция нетривиальна.