- 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>
347 lines
11 KiB
Markdown
347 lines
11 KiB
Markdown
# 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
|
||
|
||
```registry
|
||
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):**
|
||
```registry
|
||
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):**
|
||
```registry
|
||
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)
|
||
|
||
```powershell
|
||
# 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
|
||
|
||
```powershell
|
||
$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 |
|
||
|
||
```powershell
|
||
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
|
||
|
||
```registry
|
||
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
|
||
|
||
```powershell
|
||
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:
|
||
|
||
```powershell
|
||
# 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.
|
||
|
||
```powershell
|
||
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 |
|
||
|
||
```powershell
|
||
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
|
||
|
||
```powershell
|
||
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 |
|
||
|
||
```registry
|
||
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
|
||
|
||
```powershell
|
||
# 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
|
||
```
|