xetup/docs/xetup-win-setup-spec.md
Filip Zubik 4611517a1d Add all project assets, docs, and review page
- BackInfo (exe + ini + ps1) in assets/
- X9 logo (ico + jpeg) in assets/Logo/
- Colleague specs and review results in docs/
- Interactive review page v2 (review.html)
- Updated CLAUDE.md with all decisions from 2026-04-15 session
- Updated .gitignore (flash.zip, W11.pdf)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 19:43:18 +02:00

11 KiB
Raw Blame History

Xetup Specifikace automatizovaného nastavení Windows 10/11

Účel: Eliminovat ~3 hodiny ručního nastavování nových Windows stanic pro klienty X9.cz
Cíl: Jeden PowerShell skript spustitelný z admina, výsledek uložen v Default Profile (aplikuje se všem budoucím uživatelům)
Repo: C:\x9\xetup
Vstup: Parametrizovaný spouštěč název PC, doména (volitelná), typ profilu (admin/user)


1. Struktura adresářů

C:\X9\
├── install\
│   ├── Backinfo\
│   ├── flash2\
│   ├── atera-agent\
│   ├── 7zip.exe
│   ├── AdobeReader.exe
│   └── OpenVPNConnect.exe
├── X9-ikona.ico
└── X9-logo.jpg

Kroky:

  • Vytvořit C:\X9 a C:\X9\install
  • Stáhnout z Nextcloudu: Backinfo, Atera agent, Flash2, ikonu X9, logo X9
  • Stáhnout z internetu: 7-zip, Adobe Reader, OpenVPN Connect
  • Roztřídit soubory do správných adresářů dle výše

Automatizace: Invoke-WebRequest pro stažení + Copy-Item pro přesun. Nextcloud vyžaduje autentizaci credentials parametrem nebo uloženým tokenem.


2. Přizpůsobení Pozadí a barvy (Default Profile)

Všechna nastavení ukládat do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes + Default Profile hive (C:\Users\Default\NTUSER.DAT).

Nastavení Hodnota
Typ pozadí Plná barva
Barva pozadí #223B47
Barevný režim Vlastní
Režim Windows Tmavý
Režim aplikací Světlý
Barva motivu Ruční #223B47
Barva v Start menu Zapnuto
Barva v záhlavích oken Zapnuto

Registry klíče (NTUSER.DAT / Default Profile):

HKCU\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize
  - AppsUseLightTheme = 1 (DWORD)
  - SystemUsesLightTheme = 0 (DWORD)
  - ColorPrevalence = 1 (DWORD)

HKCU\Control Panel\Desktop
  - Wallpaper = "" (prázdný string = plná barva)
  - WallpaperStyle = 0

HKCU\Control Panel\Colors
  - Background = "34 59 71"  (RGB hodnota #223B47)

Poznámka: Barvu motivu (AccentColor) nastavit přes HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent hodnota AccentColorMenu = 0xFF3B2322 (ABGR formát).


3. Přizpůsobení Motivy (ikony na ploše)

  • Zobrazit ikonu Tento počítač na ploše
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel
  - {20D04FE0-3AEA-1069-A2D8-08002B30309D} = 0 (DWORD)  ; Tento počítač

Aplikovat do Default Profile hive.


4. Hlavní panel (Taskbar)

Nastavení Hodnota
Vyhledávací pole Skryto
Zobrazení úkolů (Task View) Vypnuto
Widgety Vypnuto
Zarovnání (uživatel) Vlevo
Zarovnání (admin) Na střed
Systémové ikony (overflow) Vše viditelné

Registry (Win11):

HKCU\Software\Microsoft\Windows\CurrentVersion\Search
  - SearchboxTaskbarMode = 0 (DWORD)  ; skrýt hledání

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
  - ShowTaskViewButton = 0 (DWORD)
  - TaskbarAl = 0 (DWORD)  ; 0=vlevo, 1=střed

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People
  - PeopleBand = 0 (DWORD)

HKLM\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds
  - EnableFeeds = 0 (DWORD)  ; widgety

Viditelnost systémových ikon (overflow area):

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer
  - EnableAutoTray = 0 (DWORD)  ; zobrazit vše, nevracet do přetečení

Problém: Automatické zobrazení VŠECH budoucích ikon (nový SW po instalaci) nelze 100% garantovat přes registry EnableAutoTray=0 je nejbližší řešení. Individuální ikony aplikací závisí na tom, co si každá aplikace sama zapíše.


5. Připnutí složky X9 na hlavní panel

  • Složce C:\X9 nastavit vlastní ikonu (X9-ikona.ico)
  • Připnout na panel rychlého spuštění (Quick Access / Taskbar)
# Nastavení vlastní ikony složky (desktop.ini)
$iniPath = "C:\X9\desktop.ini"
Set-Content $iniPath "[.ShellClassInfo]`nIconResource=C:\X9\X9-ikona.ico,0`n[ViewState]`nMode=`nVid=`nFolderType=Generic"
attrib +s +h $iniPath
attrib +s "C:\X9"

# Připnutí na taskbar  vyžaduje Shell COM objekt nebo workaround přes VBScript

Upozornění: Připnutí složky na taskbar je v moderním Win11 omezené Microsoft tuto možnost odstranil. Alternativa: připnout jako Quick Access v Průzkumníku nebo vytvořit shortcut na ploše.


6. Profil účtu avatar

  • Nahrát X9-logo.jpg jako profilový obrázek admin účtu
$accountPicPath = "$env:APPDATA\Microsoft\Windows\AccountPictures"
New-Item -ItemType Directory -Force -Path $accountPicPath
Copy-Item "C:\X9\X9-logo.jpg" "$accountPicPath\X9-logo.jpg"
# Nastavit jako výchozí profilový obrázek přes registry

Scope: Toto platí jen pro aktuální (admin) účet, nikoliv Default Profile je to záměr.


7. Napájení

Nastavení Hodnota
Spánek při napájení ze sítě Nikdy
Vypnutí obrazovky (síť) 1 hodina
Vypnutí obrazovky (baterie) 15 minut
Spánek na baterii 1 hodina
Zavření víka Neautomatizovat
powercfg /change standby-timeout-ac 0       # nikdy - síť
powercfg /change monitor-timeout-ac 60      # 60 min - síť
powercfg /change monitor-timeout-dc 15      # 15 min - baterie
powercfg /change standby-timeout-dc 60      # 60 min - baterie

8. Síť Proxy server

  • Vypnout automatické zjišťování nastavení proxy
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings
  - AutoDetect = 0 (DWORD)

HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
  - AutoDetect = 0 (DWORD)

9. Přejmenování počítače

param([string]$NewName)
Rename-Computer -NewName $NewName -Force -Restart

Restart je nutný. Připojení do domény probíhá zvlášť přes stejné rozhraní není součástí tohoto skriptu (volitelný parametr -Domain).


10. Odinstalace bloatware

Aktuálně řešeno přes Flash2 integrovat volání Flash2 instalačky nebo zachovat jako samostatný krok.

Alternativně vlastní seznam přes winget/AppX:

# Příklady AppX balíčků k odebrání (rozšířit dle potřeby)
$bloatware = @(
    "Microsoft.BingWeather",
    "Microsoft.GetHelp",
    "Microsoft.Getstarted",
    "Microsoft.MicrosoftSolitaireCollection",
    "Microsoft.People",
    "Microsoft.WindowsFeedbackHub",
    "Microsoft.Xbox.TCUI",
    "Microsoft.XboxApp",
    "Microsoft.ZuneMusic",
    "Microsoft.ZuneVideo"
)
foreach ($app in $bloatware) {
    Get-AppxPackage -Name $app -AllUsers | Remove-AppxPackage -AllUsers -ErrorAction SilentlyContinue
    Get-AppxProvisionedPackage -Online | Where-Object DisplayName -like $app | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue
}

Remove-AppxProvisionedPackage zajistí, že se bloatware neobjeví ani novým uživatelům (Default Profile).


11. Nastavení uživatelského profilu (Default Profile)

Klíčový mechanismus: načíst C:\Users\Default\NTUSER.DAT jako dočasný hive, aplikovat registry změny, odpojit hive.

reg load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT"
# ... zde všechny Set-ItemProperty operace s cestou HKU:\DefaultUser\...
reg unload "HKU\DefaultUser"

Tímto způsobem se veškerá nastavení (barvy, taskbar, Edge, atd.) aplikují všem budoucím uživatelům při prvním přihlášení.


12. Instalace SW

Aplikace Zdroj Metoda
7-Zip Internet / winget winget install 7zip.7zip
Adobe Reader Internet / winget winget install Adobe.Acrobat.Reader.64-bit
OpenVPN Connect Internet / winget winget install OpenVPNTechnologies.OpenVPNConnect
Atera Agent Nextcloud (C:\X9\install) MSI silent install
Backinfo Nextcloud (C:\X9\install) PS skript
winget install --id 7zip.7zip --silent --accept-package-agreements --accept-source-agreements
winget install --id Adobe.Acrobat.Reader.64-bit --silent --accept-package-agreements --accept-source-agreements
winget install --id OpenVPNTechnologies.OpenVPNConnect --silent --accept-package-agreements --accept-source-agreements

13. Backinfo

Copy-Item "C:\X9\install\Backinfo" "C:\Program Files\Backinfo" -Recurse
Set-ExecutionPolicy Unrestricted -Force
& "C:\Program Files\Backinfo\backinfo_W11.ps1"
Set-ExecutionPolicy Restricted -Force

Backinfo zapíše do registru verzi W11 a nastaví autostart po přihlášení.


14. MS Edge nastavení

Nastavit přes registry (platí pro všechny uživatele pokud aplikováno do Default Profile nebo HKLM).

Nastavení Hodnota
Ochrana sledování Striktní (2)
Panel oblíbených Vždy zobrazit
Výchozí vyhledávač Google
Tlačítka panelu nástrojů Historie, Aplikace, Stažené soubory, Výkon
HKLM\SOFTWARE\Policies\Microsoft\Edge
  - TrackingPrevention = 3 (DWORD)          ; Striktní
  - FavoritesBarEnabled = 1 (DWORD)         ; Oblíbené vždy
  - DefaultSearchProviderEnabled = 1
  - DefaultSearchProviderName = "Google"
  - DefaultSearchProviderSearchURL = "https://www.google.com/search?q={searchTerms}"

; Toolbar tlačítka  individuální nastavení přes Edge policy nebo NTUSER.DAT

Poznámka: Edge nastavení přes GPO/registry mají přednost před uživatelskými preferencemi. Pro Default Profile alternativně upravit %LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Preferences šablonou méně spolehlivé.


15. Spouštěč parametry hlavního skriptu

# Deploy-Windows.ps1
param(
    [Parameter(Mandatory=$true)]
    [string]$ComputerName,
    
    [string]$Domain = "",          # prázdné = pracovní skupina
    
    [ValidateSet("admin","user")]
    [string]$TaskbarAlign = "user", # admin=střed, user=vlevo
    
    [string]$NextcloudUrl = "",
    [string]$NextcloudUser = "",
    [string]$NextcloudPass = ""
)

Otevřené otázky / TODO

  • Jak řešit stahování z Nextcloudu bez interaktivního přihlášení? (token vs. credentials parametr)
  • Flash2 integrovat nebo volat jako subprocess?
  • Atera Agent silent install parametry MSI?
  • Přejmenování PC + připojení do domény jako jeden průchod nebo dva samostatné kroky?
  • Testování: Win10 vs Win11 některé registry klíče se liší (hlavně Taskbar)
  • Složka X9 na Taskbaru Win11 nepodporuje připnutí složky; nahradit shortcutem na ploše?

Architektura spuštění (navržená)

irm https://xetup.x9.cz/setup.ps1 | iex
    └── Stáhne Deploy-Windows.ps1 z repa
    └── Vyzve na parametry (nebo převezme z CLI)
    └── Spustí Deploy-Windows.ps1 -ExecutionPolicy Bypass
        ├── 1. Vytvoří adresáře
        ├── 2. Stáhne soubory (Nextcloud + web)
        ├── 3. Odinstaluje bloatware (AppX + Flash2)
        ├── 4. Nainstaluje SW (winget)
        ├── 5. Aplikuje registry do Default Profile (reg load/unload)
        ├── 6. Nastaví napájení
        ├── 7. Nastaví proxy
        ├── 8. Spustí Backinfo
        ├── 9. Přejmenuje PC
        └── 10. Restart