# 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 ```