- 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>
11 KiB
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:\X9aC:\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-WebRequestpro stažení +Copy-Itempro 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řesHKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent– hodnotaAccentColorMenu=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=0je 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:\X9nastavit 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.jpgjako 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-AppxProvisionedPackagezajistí, ž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č | |
| 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