ММФБ Юрий: апгрейд Win10→Win11 25H2 + отчёт клиенту PDF
This commit is contained in:
@@ -1,14 +1,21 @@
|
||||
# ММФБ — ПК Юрия Витальевича
|
||||
|
||||
## Hostname
|
||||
`DESKTOP-UFULDJQ`
|
||||
`DESKTOP-UFULDJQ` — HP ProBook x360 440 G1 (2018)
|
||||
|
||||
## Доступ
|
||||
- **NetBird:** `100.70.173.66`
|
||||
- **ОС:** Windows 10 Pro 22H2 (build 19045.6456)
|
||||
- **Пользователь:** `claude` / `Kl@udeD1ag!2026`
|
||||
- Группы: Администраторы, Пользователи удалённо
|
||||
- **WinRM:** HTTP 5985, Basic + AllowUnencrypted
|
||||
- **NetBird:** `100.70.173.66`, в группах: `Lion ART`, `All` (был в `Trance` 2026-04-29 ~1ч для обхода MS геоблока при апгрейде Win11, после убран — трафик снова через WAN MikroTik LionART 195.26.30.163)
|
||||
- **ОС:** **Windows 11 Pro 25H2 (build 26200.8037)** — апгрейд 2026-04-29 в 01:35
|
||||
- **Пользователь Claude:** `claude` / `Kl@udeD1ag!2026` (Администраторы + Пользователи удалённо)
|
||||
- **WinRM:** HTTP 5985, Basic + AllowUnencrypted (выжило апгрейд)
|
||||
- **AnyDesk:** ID `699349099`, пароль `1qaz!QAZ` (unattended, v9.0.10) — backup; конфиг выжил апгрейд
|
||||
- **Юзер ПК:** `Юрий` (профиль `C:\Users\Юрий`, SID `S-1-5-21-740515355-1758947854-3024202559-1001`)
|
||||
- **Scheduled task `WinRM-Persist`:** at boot + every 5 min, restores WinRM/firewall/LATFP=1 (страховка после Win11)
|
||||
|
||||
## Microsoft 365
|
||||
- **Логин:** `mmfb@7ppcln.onmicrosoft.com`
|
||||
- **Пароль:** `Gow18155`
|
||||
- Лицензия: Office 365 ProPlus
|
||||
|
||||
## Подключение с Mac
|
||||
```bash
|
||||
@@ -20,65 +27,118 @@ print(r.std_out.decode('cp866', errors='replace'))
|
||||
"
|
||||
```
|
||||
|
||||
## Настройка (2026-04-24)
|
||||
1. Создан юзер `claude`, добавлен в Administrators (SID S-1-5-32-544) и Remote Desktop Users (SID S-1-5-32-555).
|
||||
2. `winrm quickconfig -force` — запущена служба WinRM.
|
||||
3. `Set-NetConnectionProfile -NetworkCategory Private` — сеть в Private (иначе firewall блокировал WinRM).
|
||||
4. `winrm set winrm/config/service '@{AllowUnencrypted="true"}'` + Basic auth.
|
||||
5. Firewall rule `WinRM-HTTP` на порт 5985.
|
||||
6. `LocalAccountTokenFilterPolicy=1` в реестре — снимает UAC remote restriction для локальных админов.
|
||||
Для русских путей и вывода — через UTF-8:
|
||||
```python
|
||||
import base64
|
||||
r = s.run_cmd('powershell', ['-NoProfile', '-EncodedCommand', base64.b64encode(ps.encode('utf-16-le')).decode()])
|
||||
print(r.std_out.decode('utf-8', errors='replace'))
|
||||
```
|
||||
|
||||
## Грабли
|
||||
- На русской Windows группа "Администраторы", а не "Administrators" — `net localgroup Administrators claude /add` не работает, нужно `Add-LocalGroupMember -SID S-1-5-32-544 -Member claude`.
|
||||
- Без `LocalAccountTokenFilterPolicy=1` локальные админы получают 401 по WinRM.
|
||||
- Если сеть "Общедоступная" — WinRM firewall-rule не создастся, нужно перевести в Private.
|
||||
- В `C:\Users\Юрий` есть junction loop (`Local Settings` → `AppData\Local`, `Application Data` → сама себя) — рекурсивный поиск видит одни и те же файлы через сотни путей. Именно на этом cleanmgr зависает.
|
||||
- **На русской Windows группа "Администраторы"**, а не "Administrators" — `net localgroup Administrators claude /add` не работает, использовать `Add-LocalGroupMember -SID S-1-5-32-544 -Member claude`.
|
||||
- **`LocalAccountTokenFilterPolicy=1` обязателен** — без него локальные админы получают 401 по WinRM.
|
||||
- **Сеть должна быть Private** — иначе WinRM firewall-rule не создаётся.
|
||||
- **Junction loop в `C:\Users\Юрий`** (`Local Settings` → `AppData\Local`, `Application Data` → сама себя) — рекурсивный поиск видит одни файлы через сотни путей. На этом зависает cleanmgr.
|
||||
- **Cleanmgr через WinRM зависает** — использовать прямые PowerShell-команды.
|
||||
- **Setup.exe Office из SYSTEM-сессии (Scheduled Task) блокируется Kaspersky Endpoint Security** — запускать из интерактивной сессии Юрия (батник на Рабочем столе → ПКМ → Запуск от имени админа).
|
||||
- **Microsoft CDN блокирует Office C2R-bootstrapper из РФ** (RegionalBlocks, GeoID=203). Решение: качать `.img` напрямую с `officecdn.microsoft.com/db/<id>/media/ru-ru/O365ProPlusRetail.img` (HTTP-файл, без geo-проверки) и ставить из локального образа с `<SourcePath>` в config.xml.
|
||||
|
||||
## Очистка диска 2026-04-24
|
||||
---
|
||||
|
||||
**Было:** 44.7 GB свободно (19%) **Стало:** 59.98 GB (25%), освобождено 15.3 GB.
|
||||
# Что сделано (2026-04-24…26)
|
||||
|
||||
Сделано:
|
||||
- Кэши Chrome/Yandex/Edge: -2.48 GB
|
||||
- Windows Temp, WU cache, Prefetch, Temp юзеров: -2.07 GB
|
||||
- DISM /StartComponentCleanup /ResetBase: -0.03 GB (WinSxS был чистый)
|
||||
- `powercfg /h off` → hiberfil.sys удалён: -8 GB
|
||||
- C:\SWSETUP удалён: -3 GB
|
||||
## 1. Очистка диска
|
||||
| До | Стало |
|
||||
|---|---|
|
||||
| 44.7 GB свободно (19%) | **75.8 GB (32%)** |
|
||||
|
||||
Cleanmgr через WinRM зависает — использовать прямые PowerShell-команды.
|
||||
Освободили **31 GB** через:
|
||||
- Кэши Chrome/Yandex/Edge: −2.48 GB
|
||||
- Windows Temp + WU cache + Prefetch + Temp юзеров: −2.07 GB
|
||||
- DISM /StartComponentCleanup /ResetBase: −0.03 GB
|
||||
- `powercfg /h off` (hiberfil.sys): −8 GB
|
||||
- C:\SWSETUP (старые драйверы HP): −3 GB
|
||||
- Перенос PST-архивов на USB-диск D: −22.7 GB
|
||||
- Удаление Office 365 .img после установки: −5 GB
|
||||
- Удаление Office 2007: ~−1 GB
|
||||
|
||||
## Outlook PST — план на вечер
|
||||
## 2. Снос устаревшего/уязвимого ПО
|
||||
- **Office 2007** (EOL 2017, 15 компонентов через msiexec)
|
||||
- **WinRAR 4.10** (CVE-2023-38831, RCE)
|
||||
- **HP Velocity, HP Connection Optimizer, HP JumpStart Bridge/Launch, HP Customer Experience, HP Notifications, HP Registration Service, HP ePrint SW × 7 дубликатов**
|
||||
- Adobe Flash Player 26 — в реестре отсутствовал (ранее удалён)
|
||||
|
||||
**Нашёл 5 PST в `C:\Users\Юрий\AppData\Local\Microsoft\Outlook\`:**
|
||||
- archive1.pst — 16.42 GB (активный, сегодня)
|
||||
- archive3.pst — 6.27 GB (активный, сегодня)
|
||||
- Outlook.pst — 4.93 GB (основной ящик)
|
||||
- archive.pst — 0.03 GB (мёртвый, 2021-11-29)
|
||||
- archive2.pst — 0.03 GB (мёртвый, 2022-02-07)
|
||||
## 3. Перенос почты Outlook (27 GB)
|
||||
- **archive1.pst (16.42 GB)** → `D:\Outlook Archives\archive1.pst`
|
||||
- **archive3.pst (6.27 GB)** → `D:\Outlook Archives\archive3.pst`
|
||||
- archive.pst (30 MB, мёртвый 2021) → удалён
|
||||
- archive2.pst (30 MB, мёртвый 2022) → удалён
|
||||
- **Outlook.pst (4.95 GB)** — оставлен на C: (активный ящик)
|
||||
|
||||
**Критично:** Outlook 2007 ломается при PST > 20 GB. archive1.pst = 16.4 GB, до лимита 3.5 GB.
|
||||
USB-диск: **Transcend StoreJet 932 GB**, NTFS, монтируется как D:.
|
||||
|
||||
**USB-диск подключён:** D: Transcend StoreJet 932 GB (свободно 366 GB).
|
||||
## 4. Установка Office 365 ProPlus
|
||||
- Скачан образ `O365ProPlusRetail.img` (4.95 GB) с officecdn.microsoft.com (после блокировки C2R-bootstrapper)
|
||||
- Установлен из локального образа с конфигом ODT (RemoveMSI, ru-ru+en-us, исключены Groove/Lync/Bing/Teams)
|
||||
- **Версия:** Office 16.0.17928.20148
|
||||
- Активирован Юрием через mmfb@7ppcln.onmicrosoft.com
|
||||
|
||||
**План (когда Юрий приедет вечером 2026-04-24):**
|
||||
1. `Stop-Process OUTLOOK -Force` через WinRM
|
||||
2. `robocopy` archive1.pst и archive3.pst → `D:\Outlook Archives\` с проверкой размеров
|
||||
3. Удалить с C: все 4 архивных PST (archive, archive1, archive2, archive3)
|
||||
4. Оставить на C: только `Outlook.pst` (активный ящик)
|
||||
5. Запустить OUTLOOK.EXE обратно
|
||||
## 5. Артефакты на ПК
|
||||
- **На Рабочем столе Юрия:** `Инструкция_по_почте.txt` — как работать с PST-архивами на USB
|
||||
- USB-диск Transcend сейчас **отсоединён** (норма для схемы "архивы по требованию")
|
||||
|
||||
**После операции:**
|
||||
- Освободим на C: ~22.7 GB → станет ~82 GB свободно (35%)
|
||||
- Юрий при первом старте Outlook получит 4 диалога "файл не найден" — жмёт Отмена
|
||||
- Один раз: Файл → Управление файлами данных → выделить серые архивы → Удалить (убирает из профиля)
|
||||
- По необходимости: подключает D:, Файл → Открыть → Открыть файл данных → `D:\Outlook Archives\archive1.pst`
|
||||
---
|
||||
|
||||
**Рекомендации на потом:**
|
||||
- Windows 10 22H2 EOL 14.10.2025 — апгрейд до Win 11 (i5-8250U ставится обходом)
|
||||
- Office 2007 EOL 2017 — заменить на LibreOffice или новый Office
|
||||
- WinRAR 4.10 — CVE-2023-38831, обновить до 7.x
|
||||
- Adobe Flash Player 26 — удалить (EOL 2020)
|
||||
- +8 GB SODIMM DDR4-2400 (~2500₽) → 16 GB RAM (сейчас 8 GB, свободно 1.1 GB)
|
||||
- 4 VPN-клиента (AmneziaVPN, OpenVPN Connect, NetBird, Happ) — уточнить что реально нужно
|
||||
- HP-bloatware: HP Velocity, Customer Experience, JumpStart, Audio Analytics — снести
|
||||
- 6 дубликатов HP ePrint SW
|
||||
# Апгрейд Win10 → Win11 25H2 (2026-04-29)
|
||||
|
||||
**Время:** ~1 час всего, начиная с 00:55.
|
||||
|
||||
## Что было сделано
|
||||
|
||||
1. **Pre-flight check** — TPM 2.0 ✅, Secure Boot ✅, UEFI ✅, i5-8250U (8th gen, в офиц. списке Win11) ✅, 7.9 GB RAM, 77 GB free
|
||||
2. **WinRM-Persist scheduled task** (at boot + every 5 min, SYSTEM, Highest) — восстанавливает WinRM/Firewall/LATFP=1, если апгрейд их сбросит
|
||||
3. **AnyDesk пароль** `1qaz!QAZ` (ID 699349099) — backup access
|
||||
4. **NetBird → Trance group** — добавлен через API, чтобы получить exit-node `finland5870.com` (route 0.0.0.0/0). Без этого Microsoft возвращал геоблок 715-123130 для Fido/Installation Assistant.
|
||||
5. **Fido через Финку** → прямой URL Win11 25H2 RU x64 ISO (~7.6 GB)
|
||||
6. **Скачивание ISO** через scheduled task SYSTEM + WebClient (BITS зависал в Suspended) — 14 мин avg 9.4 MB/s
|
||||
7. **Mount + setup.exe** через scheduled task SYSTEM с ключами `/auto upgrade /quiet /eula accept /dynamicupdate disable /compat ignorewarning /copylogs C:\win11upg\setup-logs`
|
||||
8. **Phase 1** — 32 мин (preparation/copy)
|
||||
9. **Reboot + Phase 2 + Reboot** — 5 мин 15 сек (быстро, ничего лишнего без `/dynamicupdate`)
|
||||
|
||||
## Что НЕ сработало (архивно)
|
||||
|
||||
- **Installation Assistant headless** — UpgraderApp в session 0 виснет на 0 TCP-соединений. В session 1 (Юрий через `LogonType=Interactive`) — то же самое (геоблок MS поверх).
|
||||
- **Fido без VPN** — Microsoft 715-123130 region block.
|
||||
- **BITS** через WinRM — Job создаётся в `Suspended`, `Resume-BitsTransfer -Asynchronous` не сдвигает (требует interactive context).
|
||||
|
||||
## Что выжило апгрейд
|
||||
|
||||
WinRM (Basic, AllowUnencrypted=true), `LocalAccountTokenFilterPolicy=1`, firewall WinRM rules, claude в Administrators, NetBird config + сервис, AnyDesk service.conf (pwd_hash сохранился), Office 365 (16.0.19929.20090), все драйверы.
|
||||
|
||||
## Очистка после апгрейда
|
||||
|
||||
- `C:\Windows.old` 28.9 GB — удалить через Storage Sense / DISM `/Online /Cleanup-Image /StartComponentCleanup` после визуального ОК Юрием (10 дней автоудаления тоже сработают)
|
||||
- `C:\win11upg` 8 GB — Win11.iso, Fido.ps1, Installation Assistant, setup-logs, dl.log — можно сразу удалять
|
||||
- Scheduled tasks: `Win11Setup`, `Win11ISO-DL`, `Win11IA-User` — удалить
|
||||
- `WinRM-Persist` task — оставить как страховку или удалить (опционально)
|
||||
- **Решить про Trance:** оставить exit-node Финка постоянно или вернуть прямой выход
|
||||
|
||||
---
|
||||
|
||||
# Рекомендации на потом
|
||||
|
||||
| Что | Зачем | Сложность |
|
||||
|---|---|---|
|
||||
| ~~Апгрейд до Win 11~~ | ✅ Сделан 2026-04-29 — Win11 Pro 25H2 build 26200.8037 | — |
|
||||
| +8 GB SODIMM DDR4-2400 (≈2500₽) | RAM 8→16 GB резко ускорит работу | Лёгкая (2 слота, до 32 GB) |
|
||||
| Уточнить 4 VPN (Amnezia, OpenVPN, NetBird, Happ) | оставить нужный, остальные снести | Лёгкая |
|
||||
| Бекап D:\Outlook Archives на другой носитель | страховка от потери 22 GB почты | Лёгкая |
|
||||
| Outlook → Файл → Управление файлами данных → удалить серые archive1/archive3 из профиля | убрать диалоги "файл не найден" при старте Outlook | Юрий сам, 30 сек |
|
||||
|
||||
## Power-настройки (2026-04-24, для скачивания Office)
|
||||
- `standby-timeout-ac/dc 0` — сон отключён
|
||||
- `monitor-timeout-ac 0` — экран не гаснет
|
||||
- `hibernate-timeout-ac 0` — гибернация отключена
|
||||
- `LIDACTION 0` — закрытие крышки ничего не делает
|
||||
|
||||
Если Юрию неудобно — вернуть штатные значения через `powercfg /change` или Параметры → Питание.
|
||||
|
||||
Reference in New Issue
Block a user