Files
boxstarter/tiNGrundpaketClient.txt

189 lines
6.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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
#----------------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
}
#---------------Configure Chocolatey and Environment-------------------------------
choco features enable -n=allowGlobalConfirmation
choco feature enable -n=allowEmptyChecksums
New-Item -ErrorAction Ignore -Path "C:\" -Name "temp" -ItemType "directory"
#----------------Configure Windows------------------------
# Set Hostname
Write-Host "Setting Hostname to $dHostname"
Rename-Computer -NewName "$dHostname" -Force
# Enable RemoteDesktop
Enable-RemoteDesktop
# Remove annoying Windows Stuff
Disable-GameBarTips
# Taskbar Optionen (aus Boxstarter.Windows)
Set-TaskbarOptions -Size Small -Dock Bottom -Combine Full -Lock
Set-TaskbarOptions -Size Small -Dock Bottom -Combine Full -AlwaysShowIconsOn
# Explorer Optionen
Set-WindowsExplorerOptions -EnableShowFullPathInTitleBar
# 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
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 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
#---------------Remove junk---------------
$applicationList = @(
"*MarchofEmpires*"
"*Autodesk*"
"*BubbleWitch*"
"*garden*"
"*hidden*"
"*deezer*"
"*phototastic*"
"*tunein*"
"king.com*"
"G5*"
"*Facebook*"
"*Keeper*"
"*.EclipseManager"
"ActiproSoftwareLLC.562882FEEB491"
"*DolbyAccess*"
"*disney*"
"*HiddenCityMysteryofShadows*"
"*Dell*"
"*Dropbox*"
"*McAfee*"
"*Minecraft*"
"*Twitter*"
"*outlook*"
"*onedrive*"
"*onenote*"
"Microsoft.*advertising*"
"Microsoft.*3D*"
"Microsoft.Bing*"
"Microsoft.Copilot*"
"Microsoft.Getstarted"
"Microsoft.Messaging"
"Microsoft.MicrosoftOfficeHub"
"Microsoft.MicrosoftStickyNotes"
"Microsoft.Music*"
"Microsoft.Office.OneNote"
"Microsoft.Office.Sway"
"Microsoft.OneConnect"
"Microsoft.OneDriveSync"
"Microsoft.People"
"Microsoft.SkypeApp"
"Microsoft.MicrosoftSolitaireCollection"
"Microsoft.Wallet"
"Microsoft.WindowsFeedbackHub"
"Microsoft.WindowsMaps"
"Microsoft.WindowsSoundRecorder"
"microsoft.windowscommunicationsapps"
"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"