diff --git a/tiNGrundpaketClient.txt b/tiNGrundpaketClient.txt index 61ba60c..69227ad 100644 --- a/tiNGrundpaketClient.txt +++ b/tiNGrundpaketClient.txt @@ -1,115 +1,64 @@ -# Windows 11 Pro Client Boxstarter Script: Grundpaket und Konfiguration (c) Tüit GmbH -# Erweiterungen: Vollständige Updates, Schnellstart deaktivieren, LibreOffice, Bugfix, Admin aktivieren, Firefox Default, Logging, Abschlussbericht - -#----------------Logging starten------------------------ -$LogFile = "C:\temp\setup-log-$(Get-Date -Format yyyy-MM-dd_HH-mm-ss).txt" -Start-Transcript -Path $LogFile -Append -Write-Host "Logging gestartet. Alle Ausgaben werden in $LogFile gespeichert." - -#----------------Vorbereitung: Chocolatey & Module------------------------ -# Chocolatey prüfen/ggf. installieren -if (-not (Get-Command choco.exe -ErrorAction SilentlyContinue)) { - Write-Host "Chocolatey fehlt – wird installiert..." - Set-ExecutionPolicy Bypass -Scope Process -Force - [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 - iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) -} - -# Boxstarter.Windows Modul prüfen/ggf. installieren -if (-not (Get-Module -ListAvailable -Name Boxstarter.Windows)) { - Write-Host "Boxstarter.Windows Modul fehlt – wird installiert..." - Install-Module -Name Boxstarter.Windows -Force -Scope AllUsers -} -Import-Module Boxstarter.Windows +#Windows 11 Pro Client Boxstarter Script: Grundpaket und Konfiguration (c) Tüit GmbH +#TODO: Defaultprograms for Datatypes, Install all Updates (not only critical) #----------------Setting Variables------------------------ -# Hostname abfragen (Pflichtfeld) -do { - $dHostname = Read-Host 'Input desired Hostname (required)' -} until ($dHostname -ne "") -#---------------Helper Functions-------------------------- -$SuccessInstalls = @() -$FailedInstalls = @() - -function Install-ChocoPackage { - param([string]$pkg) - choco install $pkg -y --cacheLocation="c:\temp" - if ($LASTEXITCODE -eq 0) { - Write-Host "[$pkg] erfolgreich installiert." - $SuccessInstalls += $pkg - } else { - Write-Host "FEHLER: [$pkg] konnte nicht installiert werden!" -ForegroundColor Red - $FailedInstalls += $pkg - } -} - -function removeApp { - Param ([string]$appName) - Write-Output "Trying to remove $appName" - Get-AppxPackage $appName -AllUsers | Remove-AppxPackage -ErrorAction SilentlyContinue - Get-AppXProvisionedPackage -Online | Where-Object DisplayName -like $appName | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue -} +#Other Variables +$dHostname = Read-Host 'Input desired Hostname (Default: Keep current hostname)' +if($dHostname -eq ""){$dHostname = [Net.Dns]::GetHostName()} #---------------Configure Chocolatey and Environment------------------------------- choco features enable -n=allowGlobalConfirmation choco feature enable -n=allowEmptyChecksums -New-Item -ErrorAction Ignore -Path "C:\" -Name "temp" -ItemType "directory" +New-Item -ErrorAction Ignore -Path "C:\" -Name "temp" -ItemType "directory"` #----------------Configure Windows------------------------ -# Set Hostname -Write-Host "Setting Hostname to $dHostname" +#Set Hostname +Write-Host "Setting Hostname to $dHostname": Rename-Computer -NewName "$dHostname" -Force - -# Enable RemoteDesktop +#Enable RemoteDesktop Enable-RemoteDesktop - -# Remove annoying Windows Stuff +#Remove annoying Windows Stuff Disable-GameBarTips - -# Taskbar Optionen (aus Boxstarter.Windows) +#Set Taskbar to Lock and put it to the bottom and show all icons Set-TaskbarOptions -Size Small -Dock Bottom -Combine Full -Lock Set-TaskbarOptions -Size Small -Dock Bottom -Combine Full -AlwaysShowIconsOn - -# Explorer Optionen +#Show Hidden Files, File Extensions, Systemfiles and Full-Path in Titlebar Set-WindowsExplorerOptions -EnableShowFullPathInTitleBar - -# Disable IPv6 +#Disable IPv6 Write-Host DisabledComponents registry key: reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters /v DisabledComponents /t REG_DWORD /d 0xFF /f - -# Zeitserver einstellen +#Zeitserver einstellen +#reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v (Standard) /t REG_SZ /d 1 /f +#reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 1 /t REG_SZ /d 0.de.pool.ntp.org /f +#reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DateTime\Servers /v 2 /t REG_SZ /d 1.de.pool.ntp.org /f net time /setsntp:"0.de.pool.ntp.org" -# Schnellstart deaktivieren -Write-Host "Schnellstart wird deaktiviert..." -reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f - -# Lokalen Administrator aktivieren -Write-Host "Lokalen Administrator aktivieren..." -net user Administrator /active:yes - #---------------Install important Windows Packages--------------- -# Install all Updates (inkl. optionale Updates, MicrosoftUpdate, Autoreboot) -Write-Host "Starte Windows Update (alle Updates inkl. optional)..." -Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot +#Install all critical OS Updates +Install-WindowsUpdate -AcceptEula -GetUpdatesFromMS +choco install javaruntime -y --cacheLocation="c:\temp" #---------------Install Tueit Basic Software--------------------- -Install-ChocoPackage "javaruntime" -Install-ChocoPackage "vlc" -Install-ChocoPackage "7zip" -Install-ChocoPackage "firefox" -Install-ChocoPackage "greenshot" -Install-ChocoPackage "thunderbird" -Install-ChocoPackage "openvpn-connect" -Install-ChocoPackage "rustdesk --params '\"/config: host=rd.tueit.de,key=udW7BhgOOwFypZX4KKGMBORO4EG6+MvsPVEmY99F4UA=\"'" -Install-ChocoPackage "libreoffice-fresh" - -# Firefox als Standard-Browser setzen -Write-Host "Setze Firefox als Standardbrowser..." -Start-Process -FilePath "C:\Program Files\Mozilla Firefox\firefox.exe" -ArgumentList "--setDefaultBrowser" -Wait +choco install vlc -y --cacheLocation="c:\temp" +#choco install adobereader -y --cacheLocation="c:\temp" +choco install 7zip -y --cacheLocation="c:\temp" +choco install firefox -y --cacheLocation="c:\temp" +#choco install googlechrome -y --cacheLocation="c:\temp" +choco install greenshot -y --cacheLocation="c:\temp" +choco install thunderbird -y --cacheLocation="c:\temp" +#choco install pdf24 -y --cacheLocation="c:\temp" +choco install openvpn-connect -y --cacheLocation="c:\temp" +choco install rustdesk --params "'/config: host=rd.tueit.de,key=udW7BhgOOwFypZX4KKGMBORO4EG6+MvsPVEmY99F4UA='" #---------------Remove junk--------------- +function removeApp { + Param ([string]$appName) + Write-Output "Trying to remove $appName" + Get-AppxPackage $appName -AllUsers | Remove-AppxPackage + Get-AppXProvisionedPackage -Online | Where DisplayNam -like $appName | Remove-AppxProvisionedPackage -Online +} + $applicationList = @( "*MarchofEmpires*" "*Autodesk*" @@ -124,15 +73,18 @@ $applicationList = @( "*Facebook*" "*Keeper*" "*.EclipseManager" - "ActiproSoftwareLLC.562882FEEB491" + "ActiproSoftwareLLC.562882FEEB491" # Code Writer "*DolbyAccess*" "*disney*" "*HiddenCityMysteryofShadows*" "*Dell*" "*Dropbox*" + "*Facebook*" + "*Keeper*" "*McAfee*" "*Minecraft*" "*Twitter*" + "*outlook*" "*onedrive*" "*onenote*" @@ -151,7 +103,7 @@ $applicationList = @( "Microsoft.OneDriveSync" "Microsoft.People" "Microsoft.SkypeApp" - "Microsoft.MicrosoftSolitaireCollection" + "Microsoft.MicrosoftSolitaireCollection" "Microsoft.Wallet" "Microsoft.WindowsFeedbackHub" "Microsoft.WindowsMaps" @@ -160,29 +112,8 @@ $applicationList = @( "Microsoft.Zune*" "MicrosoftTeams" "*WebExperience*" -) +); foreach ($app in $applicationList) { removeApp $app -} - -#---------------Abschlussbericht--------------------- -Write-Host "`n========== ABSCHLUSSBERICHT ==========" -Write-Host "Erfolgreich installierte Pakete:" -if ($SuccessInstalls.Count -gt 0) { - $SuccessInstalls | ForEach-Object { Write-Host " - $_" } -} else { - Write-Host " (keine)" -} - -Write-Host "`nFehlgeschlagene Pakete:" -if ($FailedInstalls.Count -gt 0) { - $FailedInstalls | ForEach-Object { Write-Host " - $_" } -} else { - Write-Host " (keine)" -} -Write-Host "======================================" - -#----------------Logging beenden------------------------ -Stop-Transcript -Write-Host "Setup abgeschlossen. Logdatei: $LogFile" +} \ No newline at end of file