docs(vm303): capcanele sysprep pe o masina in uz + stare finala

Toate intalnite pe bune in timpul reparatiei VM 303:

- HideLocalAccountScreen nu functioneaza pe Win11 26100; OOBE cere oricum cont
- la ecranul OOBE nu introduce numele unui cont existent (agata fluxul)
- nu sterge defaultuser0 cat timp OOBE ruleaza; agentul QEMU raspunde ca
  serviciu si mascheaza faptul ca OOBE nu s-a terminat (verifica quser)
- /generalize sterge HKLM\SYSTEM\MountedDevices => se pierd literele D: si E:;
  volumele raman intacte, se reasigneaza cu Set-Partition
- sysprep readuce AutoAdminLogon=1
- RustDesk: MachineGuid regenerat => parola permanenta trebuie repusa

Stare finala verificata: volume Healthy, nedirty dupa oprirea fortata, zero
erori disk/Ntfs, NTLM catre .122 raspunde sub=0xc000006a.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MoFGxftQw92PX4Sdkn94pv
This commit is contained in:
Marius
2026-08-10 23:57:30 +03:00
parent db53c64c6f
commit 518a088c78

View File

@@ -92,12 +92,61 @@ aplicații — exact ce trebuia.
23:36:43 de la .101 sub=0xc000006a <- dupa: parola pusa gresit, evaluata normal 23:36:43 de la .101 sub=0xc000006a <- dupa: parola pusa gresit, evaluata normal
``` ```
**De reținut pentru data viitoare:** ### ⚠️ Capcanele sysprep-ului pe o mașină în uz — citește ÎNAINTE de a repeta
- `<ComputerName>` din `unattend.xml` **nu a fost aplicat** (mașina a pornit ca Toate au fost întâlnite pe bune și rezolvate. Într-o ordine utilă:
`WIN-SN6AFCEVSRR`); restul unattend-ului a mers (OOBE trecut automat, fără ecran de
creare cont). Redenumit ulterior cu `Rename-Computer` + repornire. 1. **`<ComputerName>` din unattend nu se aplică** — mașina a pornit ca `WIN-SN6AFCEVSRR`.
- Sysprep a **readus `AutoAdminLogon = 1`**; a fost pus înapoi pe `0`. Redenumire ulterioară cu `Rename-Computer` + repornire.
2. **`HideLocalAccountScreen` NU funcționează pe Windows 11 build 26100.** OOBE se
oprește oricum la „Who's going to use this device?". Nu există ocolire prin unattend;
trebuie completat la consolă.
3. **La acel ecran, NU introduce numele unui cont existent.** Introducerea lui `romfast`
(cont deja prezent) a agățat OOBE-ul — a urmat oprire forțată și reintrare în OOBE.
Introdu un nume nou (ex. `setup1`), parolă goală ca să sari peste întrebările de
securitate, apoi sign out și logare pe contul real.
4. **Nu șterge `defaultuser0` cât timp OOBE rulează.** Sesiunea consolei rulează chiar
sub el; ștergerea lui blochează fluxul. Agentul QEMU răspunde ca serviciu indiferent
de starea OOBE — deci „agentul răspunde" **nu** înseamnă că OOBE s-a terminat.
Verifică `quser`: dacă sesiunea activă e `defaultuser0`, ești încă în OOBE.
5. **`/generalize` șterge `HKLM\SYSTEM\MountedDevices` → literele de partiție se pierd.**
Aici au dispărut **D:** și **E:** (partițiile 5 și 6 de pe disc 0), iar programele
instalate pe `D:\roa` păreau pierdute. Volumele erau intacte, doar fără literă:
```powershell
Set-Partition -DiskNumber 0 -PartitionNumber 5 -NewDriveLetter D
Set-Partition -DiskNumber 0 -PartitionNumber 6 -NewDriveLetter E
```
Share-urile (`Temp` → `D:\Temp`, `D$`, `E$`) au supraviețuit și au redevenit
funcționale odată cu literele.
6. **Sysprep readuce `AutoAdminLogon = 1`** — pus înapoi pe `0`.
7. **RustDesk nu mai accepta parola.** `/generalize` regenerează `MachineGuid` (acum
`386fb2c0-0cf0-443e-9ad4-4bc529db3446`), de care sunt legate credențialele stocate.
Configurația și serverul (`roa.romfast.ro:21116`) au rămas; **ID nou: `294770995`**.
Parola permanentă se pune din nou:
```powershell
& 'C:\Program Files\RustDesk\rustdesk.exe' --password '<parola>'
Restart-Service RustDesk
```
### Stare finală verificată (2026-08-11, ~00:00)
Sesiune activă ca `romfast`; `C:` 292 GB, `D:` 109 GB cu `roa`/`Temp`/`utils`/`romfast`,
`E:` 97 GB gol — toate `Healthy`, niciun volum „dirty" după oprirea forțată, zero erori
`disk`/`Ntfs`/`volmgr` în System log. Autentificarea NTLM către .122 răspunde
`sub=0xc000006a` (parolă evaluată normal) atât cu prefix `ROACENTRAL\` cât și `VM-303\`.
Cont rămas: `setup1` (RID 1007, Administrator), creat pentru a trece de OOBE. **De păstrat
ca acces de rezervă** până când totul e confirmat câteva zile; apoi:
```powershell
Remove-LocalUser -Name setup1
Get-CimInstance Win32_UserProfile | Where-Object { $_.LocalPath -like '*setup1' } | Remove-CimInstance
```
- Windows nu era activat nici înainte (`LicenseStatus 5`), deci nu s-a pierdut activare. - Windows nu era activat nici înainte (`LicenseStatus 5`), deci nu s-a pierdut activare.
ReArm-uri rămase: 1001. ReArm-uri rămase: 1001.
- Pachete Appx scoase ca să treacă sysprep: `Microsoft.Winget.Source`, - Pachete Appx scoase ca să treacă sysprep: `Microsoft.Winget.Source`,