Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a01dbb892e | |||
| 86eb0648c9 | |||
| 9339bda3e2 | |||
| 71e4ec005e | |||
| 82c6c2dce9 | |||
| 2b4fab9e46 | |||
| 3bfdf2a653 | |||
| 9cd9581563 | |||
| 0c99ecf248 | |||
| 9ae23b9dde | |||
| b8833f2897 | |||
| c54df9162d |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,2 @@
|
||||
# Build artifacts
|
||||
*.exe
|
||||
!VServerSetup-online-console.exe
|
||||
|
||||
80
README.md
80
README.md
@ -1,27 +1,30 @@
|
||||
# VServer Setup
|
||||
|
||||
Automatischer Windows VServer Setup Installer. Installiert alle benoetigten Programme und Konfigurationen auf einem frischen Windows Server.
|
||||
Automatischer Windows VServer Setup Installer. Installiert alle benoetigten Programme und Konfigurationen auf einem frischen Windows Server 2022.
|
||||
|
||||
Alle Downloads kommen von der eigenen Gitea-Instanz (git.24-music.de) oder offiziellen Quellen — keine Abhaengigkeit von streamerware.de mehr.
|
||||
|
||||
## Was wird installiert?
|
||||
|
||||
| # | Programm | Quelle |
|
||||
|---|----------|--------|
|
||||
| 1 | Python 3.12.4 | python.org |
|
||||
| 2 | FFmpeg (+ PATH) | gyan.dev |
|
||||
| 2 | FFmpeg (+ PATH) | Gitea: ffmpeg |
|
||||
| 3 | WinRAR | win-rar.com |
|
||||
| 4 | G-Earth | streamerware.de |
|
||||
| 4 | G-Earth | Gitea: G-Earth |
|
||||
| 5 | VLC Media Player | ftp.fau.de |
|
||||
| 6 | Java 8 (Temurin) | GitHub/Adoptium |
|
||||
| 7 | .NET Framework 4.8 | Microsoft |
|
||||
| 8 | .NET 6.0 Desktop Runtime | streamerware.de |
|
||||
| 9 | .NET 8.0 Desktop Runtime | streamerware.de |
|
||||
| 8 | .NET 6.0 Desktop Runtime | Gitea: dotnet-runtimes |
|
||||
| 9 | .NET 8.0 Desktop Runtime | Gitea: dotnet-runtimes |
|
||||
| 10 | Google Chrome | Google |
|
||||
| 11 | Habbo Launcher | streamerware.de |
|
||||
| 12 | JDownloader 2 + Backup | streamerware.de |
|
||||
| 13 | Desktop-Ordner (Fertig/Unfertig) + File-Uploader | streamerware.de |
|
||||
| 14 | Scripte (Rename MKV AVI etc.) | streamerware.de |
|
||||
| 15 | Twitch VOD Manager | streamerware.de |
|
||||
| 16 | Windows-Settings (IE Security, Taskview, Icons) | Registry |
|
||||
| 11 | Habbo Launcher | Gitea: Habbo-Launcher |
|
||||
| 12 | JDownloader 2 + Backup | Gitea: JDownloader-Setup |
|
||||
| 13 | Desktop-Ordner (Downloader Fertig/Downloader Unfertig/Entpackt) + File-Uploader | Gitea: File-Uploader |
|
||||
| 14 | Scripte (Rename MKV AVI etc.) | Gitea: xabbo-scripts |
|
||||
| 15 | Twitch VOD Manager | Gitea: Twitch-VOD-Manager |
|
||||
| 16 | Multi-Hoster-Upload + `.mhu` Data-File auf Desktop | Gitea: Multi-Hoster-Upload |
|
||||
| 17 | Real-Debrid-Downloader + `.mdd` Data-File auf Desktop | Gitea: real-debrid-downloader |
|
||||
|
||||
## Windows-Einstellungen
|
||||
|
||||
@ -29,6 +32,25 @@ Automatischer Windows VServer Setup Installer. Installiert alle benoetigten Prog
|
||||
- Taskansicht-Button ausgeblendet
|
||||
- Suchfeld ausgeblendet
|
||||
- Desktop kleine Symbole
|
||||
- Windows Update dauerhaft deaktiviert (Services + Registry Policy)
|
||||
- Energiesparplan auf Hoechstleistung
|
||||
|
||||
## Gitea Repos
|
||||
|
||||
Alle eigenen Tools werden ueber die Gitea API (latest Release) geladen:
|
||||
|
||||
| Repo | Inhalt |
|
||||
|------|--------|
|
||||
| [G-Earth](https://git.24-music.de/Administrator/G-Earth) | Habbo Packet Interceptor |
|
||||
| [Habbo-Launcher](https://git.24-music.de/Administrator/Habbo-Launcher) | Habbo Hotel Launcher |
|
||||
| [JDownloader-Setup](https://git.24-music.de/Administrator/JDownloader-Setup) | JD2 Installer + Config Backup |
|
||||
| [File-Uploader](https://git.24-music.de/Administrator/File-Uploader) | File-Uploader fuer Desktop |
|
||||
| [xabbo-scripts](https://git.24-music.de/Administrator/xabbo-scripts) | Xabbo Scripte |
|
||||
| [dotnet-runtimes](https://git.24-music.de/Administrator/dotnet-runtimes) | .NET 6.0 + 8.0 Desktop Runtime |
|
||||
| [ffmpeg](https://git.24-music.de/Administrator/ffmpeg) | FFmpeg Essentials Build (Mirror von gyan.dev) |
|
||||
| [Twitch-VOD-Manager](https://git.24-music.de/Administrator/Twitch-VOD-Manager) | Twitch VOD Manager |
|
||||
| [Multi-Hoster-Upload](https://git.24-music.de/Administrator/Multi-Hoster-Upload) | Multi-Hoster Upload Tool + `.mhu` Data-File |
|
||||
| [real-debrid-downloader](https://git.24-music.de/Administrator/real-debrid-downloader) | Real-Debrid Downloader + `.mdd` Data-File |
|
||||
|
||||
## Benutzung
|
||||
|
||||
@ -38,11 +60,37 @@ Automatischer Windows VServer Setup Installer. Installiert alle benoetigten Prog
|
||||
.\VServerSetup.ps1
|
||||
```
|
||||
|
||||
### Kompilierte EXE
|
||||
Die `VServerSetup-online-console.exe` kann direkt auf dem Server ausgefuehrt werden (als Admin).
|
||||
|
||||
## Dateien
|
||||
|
||||
- `VServerSetup.ps1` - Hauptscript (Quellcode)
|
||||
- `jdownloader-backup.zip` - JDownloader 2 Konfiguration/Accounts
|
||||
- `VServerSetup-online-console.exe` - Kompilierte Version
|
||||
- `jdownloader-backup.zip` - JDownloader 2 Konfiguration/Accounts (auch auf Gitea)
|
||||
|
||||
## Changelog
|
||||
|
||||
### v2.3.0
|
||||
- FFmpeg-Download von gyan.dev auf Gitea umgezogen (gyan.dev war arsch langsam)
|
||||
- Neues Repo `Administrator/ffmpeg` als Mirror
|
||||
- Bei Updates: einfach neues Release mit .zip-Asset im ffmpeg-Repo hochladen
|
||||
|
||||
### v2.2.0
|
||||
- `Multi-Hoster-Upload.mhu` wird vom Multi-Hoster-Upload Release geladen und auf Desktop gepackt
|
||||
- `Multi-Debrid-Downloader.mdd` wird vom real-debrid-downloader Release geladen und auf Desktop gepackt
|
||||
- Neuer Helper `Copy-Gitea-DataFile-To-Desktop`
|
||||
- Skip-Logik wenn Data-File schon auf Desktop liegt
|
||||
|
||||
### v2.1.0
|
||||
- Desktop-Ordner umbenannt: "Fertig" → "Downloader Fertig", "Unfertig" → "Downloader Unfertig"
|
||||
- Neuer Ordner "Entpackt"
|
||||
- JD Backup Import Crash beim Ausfuehren als EXE behoben
|
||||
|
||||
### v2.0.0
|
||||
- Komplette Migration auf Gitea (keine streamerware.de Abhaengigkeit mehr)
|
||||
- Neue Tools: Multi-Hoster-Upload, Real-Debrid-Downloader, Twitch VOD Manager (Gitea)
|
||||
- Neue Repos: Habbo-Launcher, File-Uploader, JDownloader-Setup, dotnet-runtimes
|
||||
- JDownloader blockiert das Setup nicht mehr (Polling statt -Wait)
|
||||
- TLS 1.2 erzwungen
|
||||
- JD-Backup Import zuverlaessig (Marker-Datei)
|
||||
- Explorer-Neustart nach Windows-Einstellungen
|
||||
- Windows Update dauerhaft deaktiviert
|
||||
- Energiesparplan auf Hoechstleistung
|
||||
- Helper-Funktionen (Get-Gitea-Latest-Asset, Unrar-File, Install-Gitea-App)
|
||||
|
||||
Binary file not shown.
448
VServerSetup.ps1
448
VServerSetup.ps1
@ -2,7 +2,14 @@
|
||||
$ErrorActionPreference = "Continue"
|
||||
$ProgressPreference = "SilentlyContinue"
|
||||
|
||||
# TLS 1.2 erzwingen - ohne das schlagen HTTPS-Downloads auf aelteren Servern fehl
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||
|
||||
$tempDir = "$env:TEMP\vserver-setup"
|
||||
$desktopPath = [Environment]::GetFolderPath("Desktop")
|
||||
$winrarPath = "C:\Program Files\WinRAR\WinRAR.exe"
|
||||
$totalSteps = 18
|
||||
|
||||
New-Item -ItemType Directory -Force -Path $tempDir | Out-Null
|
||||
|
||||
Write-Host "========================================" -ForegroundColor Cyan
|
||||
@ -12,7 +19,8 @@ Write-Host ""
|
||||
|
||||
function Download-File {
|
||||
param($Url, $Output)
|
||||
Write-Host " Downloading: $Output" -ForegroundColor Gray
|
||||
$filename = Split-Path $Output -Leaf
|
||||
Write-Host " Downloading: $filename" -ForegroundColor Gray
|
||||
try {
|
||||
$webClient = New-Object System.Net.WebClient
|
||||
$webClient.Headers.Add("User-Agent", "Mozilla/5.0")
|
||||
@ -24,8 +32,88 @@ function Download-File {
|
||||
}
|
||||
}
|
||||
|
||||
function Unrar-File {
|
||||
param($RarPath, $DestPath)
|
||||
if (Test-Path $winrarPath) {
|
||||
Start-Process -FilePath $winrarPath -ArgumentList "x", "-ibck", "-o+", $RarPath, "$DestPath\" -Wait
|
||||
return $true
|
||||
} else {
|
||||
Write-Host " FEHLER: WinRAR nicht gefunden" -ForegroundColor Red
|
||||
return $false
|
||||
}
|
||||
}
|
||||
|
||||
function Get-Gitea-Latest-Asset {
|
||||
param($Repo, $Filter)
|
||||
$releaseApi = "https://git.24-music.de/api/v1/repos/Administrator/$Repo/releases?limit=1"
|
||||
$wc = New-Object System.Net.WebClient
|
||||
$wc.Headers.Add("User-Agent", "Mozilla/5.0")
|
||||
$release = ($wc.DownloadString($releaseApi) | ConvertFrom-Json)[0]
|
||||
$asset = $release.assets | Where-Object { $_.name -like $Filter -and $_.name -notlike "*.blockmap" } | Select-Object -First 1
|
||||
if ($asset) {
|
||||
Write-Host " Version: $($release.tag_name)" -ForegroundColor Gray
|
||||
}
|
||||
return $asset
|
||||
}
|
||||
|
||||
function Copy-Gitea-DataFile-To-Desktop {
|
||||
param($Repo, $Filter)
|
||||
try {
|
||||
$asset = Get-Gitea-Latest-Asset -Repo $Repo -Filter $Filter
|
||||
if (-not $asset) {
|
||||
Write-Host " WARNUNG: Kein Asset '$Filter' im Release gefunden" -ForegroundColor Yellow
|
||||
return
|
||||
}
|
||||
$destPath = Join-Path $desktopPath $asset.name
|
||||
if (Test-Path $destPath) {
|
||||
Write-Host " $($asset.name) bereits vorhanden - ueberspringe." -ForegroundColor Gray
|
||||
return
|
||||
}
|
||||
if (Download-File -Url $asset.browser_download_url -Output $destPath) {
|
||||
Write-Host " $($asset.name) auf Desktop!" -ForegroundColor Green
|
||||
}
|
||||
} catch {
|
||||
Write-Host " FEHLER beim Laden der Data-Datei: $_" -ForegroundColor Red
|
||||
}
|
||||
}
|
||||
|
||||
function Install-Gitea-App {
|
||||
param($Name, $Repo, $StepNum, $DetectPaths, $ProcessName)
|
||||
Write-Host ""
|
||||
Write-Host "[$StepNum/$totalSteps] $Name..." -ForegroundColor Yellow
|
||||
|
||||
foreach ($p in $DetectPaths) {
|
||||
if (Test-Path $p) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
Write-Host " Hole neueste Version von Gitea..." -ForegroundColor Gray
|
||||
$asset = Get-Gitea-Latest-Asset -Repo $Repo -Filter "*Setup*.exe"
|
||||
if ($asset) {
|
||||
$installer = "$tempDir\$($asset.name)"
|
||||
if (Download-File -Url $asset.browser_download_url -Output $installer) {
|
||||
Write-Host " Installiere $Name (silent)..." -ForegroundColor Gray
|
||||
Start-Process -FilePath $installer -ArgumentList "/S" -Wait
|
||||
if ($ProcessName) {
|
||||
Start-Sleep -Seconds 3
|
||||
Stop-Process -Name $ProcessName -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
Write-Host " $Name installiert!" -ForegroundColor Green
|
||||
}
|
||||
} else {
|
||||
Write-Host " FEHLER: Kein Setup-Asset im Release gefunden" -ForegroundColor Red
|
||||
}
|
||||
} catch {
|
||||
Write-Host " FEHLER beim Abrufen der Gitea-Release: $_" -ForegroundColor Red
|
||||
}
|
||||
}
|
||||
|
||||
# 1. PYTHON
|
||||
Write-Host "[1/12] Python..." -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "[1/$totalSteps] Python..." -ForegroundColor Yellow
|
||||
$pythonInstalled = (Get-Command python -ErrorAction SilentlyContinue) -or (Test-Path "C:\Program Files\Python*\python.exe")
|
||||
if ($pythonInstalled) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
@ -40,13 +128,14 @@ if ($pythonInstalled) {
|
||||
}
|
||||
|
||||
# 2. FFMPEG
|
||||
Write-Host "[2/12] FFmpeg..." -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "[2/$totalSteps] FFmpeg..." -ForegroundColor Yellow
|
||||
if (Test-Path "C:\ffmpeg\bin\ffmpeg.exe") {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
$ffmpegUrl = "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip"
|
||||
$ffmpegZip = "$tempDir\ffmpeg.zip"
|
||||
if (Download-File -Url $ffmpegUrl -Output $ffmpegZip) {
|
||||
$ffmpegAsset = Get-Gitea-Latest-Asset -Repo "ffmpeg" -Filter "*.zip"
|
||||
if ($ffmpegAsset -and (Download-File -Url $ffmpegAsset.browser_download_url -Output $ffmpegZip)) {
|
||||
Write-Host " Entpacke FFmpeg nach C:\ffmpeg..." -ForegroundColor Gray
|
||||
if (Test-Path "C:\ffmpeg") { Remove-Item -Path "C:\ffmpeg" -Recurse -Force }
|
||||
Expand-Archive -Path $ffmpegZip -DestinationPath $tempDir -Force
|
||||
@ -65,8 +154,9 @@ if ($currentPath -notlike "*C:\ffmpeg\bin*") {
|
||||
}
|
||||
|
||||
# 3. WINRAR
|
||||
Write-Host "[3/12] WinRAR..." -ForegroundColor Yellow
|
||||
if (Test-Path "C:\Program Files\WinRAR\WinRAR.exe") {
|
||||
Write-Host ""
|
||||
Write-Host "[3/$totalSteps] WinRAR..." -ForegroundColor Yellow
|
||||
if (Test-Path $winrarPath) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
$winrarUrl = "https://www.win-rar.com/fileadmin/winrar-versions/winrar/winrar-x64-701.exe"
|
||||
@ -78,28 +168,50 @@ if (Test-Path "C:\Program Files\WinRAR\WinRAR.exe") {
|
||||
}
|
||||
}
|
||||
|
||||
# 4. G-EARTH (nach WinRAR, damit wir entpacken koennen)
|
||||
Write-Host "[4/12] G-Earth..." -ForegroundColor Yellow
|
||||
$gearthPath = "$([Environment]::GetFolderPath('Desktop'))\G-Earth"
|
||||
if (Test-Path $gearthPath) {
|
||||
# 4. G-EARTH (von Gitea - nach WinRAR, damit wir entpacken koennen)
|
||||
Write-Host ""
|
||||
Write-Host "[4/$totalSteps] G-Earth..." -ForegroundColor Yellow
|
||||
if (Test-Path "$desktopPath\G-Earth") {
|
||||
Write-Host " Bereits vorhanden - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
$gearthUrl = "https://streamerware.de/G-earth.rar"
|
||||
$gearthRar = "$tempDir\G-earth.rar"
|
||||
if (Download-File -Url $gearthUrl -Output $gearthRar) {
|
||||
try {
|
||||
Write-Host " Hole neueste Version von Gitea..." -ForegroundColor Gray
|
||||
$releaseApi = "https://git.24-music.de/api/v1/repos/Administrator/G-Earth/releases?limit=1"
|
||||
$wc = New-Object System.Net.WebClient
|
||||
$wc.Headers.Add("User-Agent", "Mozilla/5.0")
|
||||
$release = ($wc.DownloadString($releaseApi) | ConvertFrom-Json)
|
||||
$rarAsset = $release[0].assets | Where-Object { $_.name -like "*.rar" } | Select-Object -First 1
|
||||
if ($rarAsset) {
|
||||
$gearthRar = "$tempDir\$($rarAsset.name)"
|
||||
Write-Host " Version: $($release[0].tag_name)" -ForegroundColor Gray
|
||||
if (Download-File -Url $rarAsset.browser_download_url -Output $gearthRar) {
|
||||
Write-Host " Entpacke G-Earth auf Desktop..." -ForegroundColor Gray
|
||||
$winrarPath = "C:\Program Files\WinRAR\WinRAR.exe"
|
||||
if (Test-Path $winrarPath) {
|
||||
Start-Process -FilePath $winrarPath -ArgumentList "x", "-ibck", "-o+", $gearthRar, "$([Environment]::GetFolderPath('Desktop'))\" -Wait
|
||||
Write-Host " G-Earth installiert!" -ForegroundColor Green
|
||||
# In temp entpacken, dann nach G-Earth umbenennen (RAR-Ordnername aendert sich je Version)
|
||||
$gearthTemp = "$tempDir\G-Earth-extract"
|
||||
New-Item -ItemType Directory -Force -Path $gearthTemp | Out-Null
|
||||
if (Unrar-File -RarPath $gearthRar -DestPath $gearthTemp) {
|
||||
# Finde den entpackten Ordner (z.B. "G-Earth 1.5.4")
|
||||
$extracted = Get-ChildItem -Path $gearthTemp -Directory | Where-Object { $_.Name -like "G-Earth*" } | Select-Object -First 1
|
||||
if ($extracted) {
|
||||
Move-Item -Path $extracted.FullName -Destination "$desktopPath\G-Earth" -Force
|
||||
} else {
|
||||
Write-Host " FEHLER: WinRAR nicht gefunden" -ForegroundColor Red
|
||||
# Falls die Dateien direkt im Ordner liegen
|
||||
Move-Item -Path $gearthTemp -Destination "$desktopPath\G-Earth" -Force
|
||||
}
|
||||
Write-Host " G-Earth installiert!" -ForegroundColor Green
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Write-Host " FEHLER: Kein .rar-Asset im Release gefunden" -ForegroundColor Red
|
||||
}
|
||||
} catch {
|
||||
Write-Host " FEHLER beim Abrufen der Gitea-Release: $_" -ForegroundColor Red
|
||||
}
|
||||
}
|
||||
|
||||
# 5. VLC
|
||||
Write-Host "[5/12] VLC..." -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "[5/$totalSteps] VLC..." -ForegroundColor Yellow
|
||||
if (Test-Path "C:\Program Files\VideoLAN\VLC\vlc.exe") {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
@ -112,8 +224,9 @@ if (Test-Path "C:\Program Files\VideoLAN\VLC\vlc.exe") {
|
||||
}
|
||||
}
|
||||
|
||||
# 5. JAVA 8
|
||||
Write-Host "[6/12] Java 8..." -ForegroundColor Yellow
|
||||
# 6. JAVA 8
|
||||
Write-Host ""
|
||||
Write-Host "[6/$totalSteps] Java 8..." -ForegroundColor Yellow
|
||||
$javaInstalled = (Test-Path "C:\Program Files\Java\*") -or (Test-Path "C:\Program Files\Eclipse Adoptium\*") -or (Get-Command java -ErrorAction SilentlyContinue)
|
||||
if ($javaInstalled) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
@ -127,8 +240,9 @@ if ($javaInstalled) {
|
||||
}
|
||||
}
|
||||
|
||||
# 6. .NET FRAMEWORK 4.8
|
||||
Write-Host "[7/13] .NET Framework 4.8..." -ForegroundColor Yellow
|
||||
# 7. .NET FRAMEWORK 4.8
|
||||
Write-Host ""
|
||||
Write-Host "[7/$totalSteps] .NET Framework 4.8..." -ForegroundColor Yellow
|
||||
$netInstalled = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" -ErrorAction SilentlyContinue).Release -ge 528040
|
||||
if ($netInstalled) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
@ -142,15 +256,16 @@ if ($netInstalled) {
|
||||
}
|
||||
}
|
||||
|
||||
# 7. .NET 6.0 DESKTOP RUNTIME
|
||||
Write-Host "[8/13] .NET 6.0 Desktop Runtime..." -ForegroundColor Yellow
|
||||
# 8. .NET 6.0 DESKTOP RUNTIME
|
||||
Write-Host ""
|
||||
Write-Host "[8/$totalSteps] .NET 6.0 Desktop Runtime..." -ForegroundColor Yellow
|
||||
$net6Installed = (Test-Path "C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\6.*") -or (Test-Path "C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.*")
|
||||
if ($net6Installed) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
$net6Url = "https://streamerware.de/windowsdesktop-runtime-6.0.36-win-x64.exe"
|
||||
$net6Installer = "$tempDir\dotnet6-desktop.exe"
|
||||
if (Download-File -Url $net6Url -Output $net6Installer) {
|
||||
$net6Asset = Get-Gitea-Latest-Asset -Repo "dotnet-runtimes" -Filter "*6.0*"
|
||||
if ($net6Asset -and (Download-File -Url $net6Asset.browser_download_url -Output $net6Installer)) {
|
||||
Write-Host " Installiere .NET 6.0 Desktop Runtime (silent)..." -ForegroundColor Gray
|
||||
Start-Process -FilePath $net6Installer -ArgumentList "/install", "/quiet", "/norestart" -Wait
|
||||
Write-Host " .NET 6.0 Desktop Runtime installiert!" -ForegroundColor Green
|
||||
@ -158,14 +273,15 @@ if ($net6Installed) {
|
||||
}
|
||||
|
||||
# 9. .NET 8.0 DESKTOP RUNTIME
|
||||
Write-Host "[9/16] .NET 8.0 Desktop Runtime..." -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "[9/$totalSteps] .NET 8.0 Desktop Runtime..." -ForegroundColor Yellow
|
||||
$net8Installed = (Test-Path "C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App\8.*") -or (Test-Path "C:\Program Files\dotnet\shared\Microsoft.NETCore.App\8.*")
|
||||
if ($net8Installed) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
$net8Url = "https://streamerware.de/windowsdesktop-runtime-8.0.23-win-x64.exe"
|
||||
$net8Installer = "$tempDir\dotnet8-desktop.exe"
|
||||
if (Download-File -Url $net8Url -Output $net8Installer) {
|
||||
$net8Asset = Get-Gitea-Latest-Asset -Repo "dotnet-runtimes" -Filter "*8.0*"
|
||||
if ($net8Asset -and (Download-File -Url $net8Asset.browser_download_url -Output $net8Installer)) {
|
||||
Write-Host " Installiere .NET 8.0 Desktop Runtime (silent)..." -ForegroundColor Gray
|
||||
Start-Process -FilePath $net8Installer -ArgumentList "/install", "/quiet", "/norestart" -Wait
|
||||
Write-Host " .NET 8.0 Desktop Runtime installiert!" -ForegroundColor Green
|
||||
@ -173,7 +289,8 @@ if ($net8Installed) {
|
||||
}
|
||||
|
||||
# 10. GOOGLE CHROME
|
||||
Write-Host "[10/16] Google Chrome..." -ForegroundColor Yellow
|
||||
Write-Host ""
|
||||
Write-Host "[10/$totalSteps] Google Chrome..." -ForegroundColor Yellow
|
||||
$chromeInstalled = (Test-Path "C:\Program Files\Google\Chrome\Application\chrome.exe") -or (Test-Path "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
|
||||
if ($chromeInstalled) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
@ -187,159 +304,184 @@ if ($chromeInstalled) {
|
||||
}
|
||||
}
|
||||
|
||||
# 10. HABBO LAUNCHER
|
||||
Write-Host "[11/16] Habbo Launcher..." -ForegroundColor Yellow
|
||||
$habboInstalled = (Test-Path "$env:LOCALAPPDATA\Programs\habbo-launcher\Habbo Launcher.exe") -or (Test-Path "C:\Program Files\Habbo Launcher\*") -or (Test-Path "$env:USERPROFILE\AppData\Local\Programs\habbo-launcher\Habbo Launcher.exe") -or (Get-ChildItem "C:\Users\*\AppData\Local\Programs\habbo-launcher\Habbo Launcher.exe" -ErrorAction SilentlyContinue) -or (Test-Path "$([Environment]::GetFolderPath('Desktop'))\Habbo Launcher.lnk")
|
||||
if ($habboInstalled) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
$habboUrl = "https://streamerware.de/HabboLauncher-Setup-1.0.80.exe"
|
||||
$habboInstaller = "$tempDir\HabboLauncher-Setup.exe"
|
||||
if (Download-File -Url $habboUrl -Output $habboInstaller) {
|
||||
Write-Host " Installiere Habbo Launcher (silent)..." -ForegroundColor Gray
|
||||
Start-Process -FilePath $habboInstaller -ArgumentList "/S" -Wait
|
||||
Write-Host " Habbo Launcher installiert!" -ForegroundColor Green
|
||||
}
|
||||
}
|
||||
# 11. HABBO LAUNCHER (von Gitea)
|
||||
Install-Gitea-App -Name "Habbo Launcher" -Repo "Habbo-Launcher" `
|
||||
-StepNum 11 `
|
||||
-DetectPaths @("$env:LOCALAPPDATA\Programs\habbo-launcher\Habbo Launcher.exe", "C:\Program Files\Habbo Launcher\*") `
|
||||
-ProcessName "Habbo Launcher"
|
||||
|
||||
# 8. JDOWNLOADER (von Website laden)
|
||||
Write-Host "[12/16] JDownloader..." -ForegroundColor Yellow
|
||||
$jdPath = "$env:LOCALAPPDATA\JDownloader 2.0"
|
||||
$jdInstalled = (Test-Path "$jdPath\JDownloader2.exe") -or (Test-Path "C:\Program Files\JDownloader\JDownloader2.exe")
|
||||
if ($jdInstalled) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
$jdUrl = "http://streamerware.de/JDownloader2Setup_windows-amd64_v21_0_7.exe"
|
||||
$jdInstaller = "$tempDir\JDownloader2Setup.exe"
|
||||
if (Download-File -Url $jdUrl -Output $jdInstaller) {
|
||||
Write-Host " Installiere JDownloader (silent)..." -ForegroundColor Gray
|
||||
Start-Process -FilePath $jdInstaller -ArgumentList "-q" -Wait
|
||||
Write-Host " JDownloader installiert!" -ForegroundColor Green
|
||||
}
|
||||
}
|
||||
|
||||
# JD2 BACKUP IMPORTIEREN (eingebettet)
|
||||
$jdPaths = @(
|
||||
# 12. JDOWNLOADER
|
||||
Write-Host ""
|
||||
Write-Host "[12/$totalSteps] JDownloader..." -ForegroundColor Yellow
|
||||
$jdDetectPaths = @(
|
||||
"$env:LOCALAPPDATA\JDownloader 2.0",
|
||||
"C:\Program Files\JDownloader",
|
||||
"C:\Users\Administrator\AppData\Local\JDownloader 2.0"
|
||||
)
|
||||
$jdPath = $null
|
||||
foreach ($p in $jdPaths) {
|
||||
if (Test-Path $p) { $jdPath = $p; break }
|
||||
foreach ($p in $jdDetectPaths) {
|
||||
if (Test-Path "$p\JDownloader2.exe") { $jdPath = $p; break }
|
||||
}
|
||||
# Pruefen ob Backup bereits importiert wurde (cfg Ordner existiert)
|
||||
if ($jdPath -and (Test-Path "$jdPath\cfg")) {
|
||||
|
||||
if ($jdPath) {
|
||||
Write-Host " Bereits installiert - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
# JDownloader Installer von Gitea holen
|
||||
$jdAsset = Get-Gitea-Latest-Asset -Repo "JDownloader-Setup" -Filter "*Setup*.exe"
|
||||
$jdInstaller = "$tempDir\JDownloader2Setup.exe"
|
||||
if ($jdAsset -and (Download-File -Url $jdAsset.browser_download_url -Output $jdInstaller)) {
|
||||
Write-Host " Installiere JDownloader (silent)..." -ForegroundColor Gray
|
||||
# NICHT -Wait benutzen! Der JD-Installer (install4j) startet JDownloader nach
|
||||
# der Installation und wartet bis JD geschlossen wird. -Wait wuerde das Script
|
||||
# blockieren bis der User JDownloader manuell schliesst.
|
||||
$jdProc = Start-Process -FilePath $jdInstaller -ArgumentList "-q" -PassThru
|
||||
|
||||
# Warte bis JDownloader2.exe auf der Festplatte erscheint (max 2 Minuten)
|
||||
Write-Host " Warte auf Installation..." -ForegroundColor Gray
|
||||
$installed = $false
|
||||
for ($i = 0; $i -lt 60; $i++) {
|
||||
Start-Sleep -Seconds 2
|
||||
foreach ($dp in $jdDetectPaths) {
|
||||
if (Test-Path "$dp\JDownloader2.exe") {
|
||||
$jdPath = $dp
|
||||
$installed = $true
|
||||
break
|
||||
}
|
||||
}
|
||||
if ($installed) { break }
|
||||
if ($jdProc.HasExited -and -not $installed) { break }
|
||||
}
|
||||
|
||||
# JDownloader und Installer-Prozess beenden
|
||||
Start-Sleep -Seconds 3
|
||||
Stop-Process -Name "JDownloader2" -Force -ErrorAction SilentlyContinue
|
||||
# Auf einem frischen VServer laeuft kein anderes Java - sicher zu killen
|
||||
Stop-Process -Name "java" -Force -ErrorAction SilentlyContinue
|
||||
if (-not $jdProc.HasExited) {
|
||||
Stop-Process -Id $jdProc.Id -Force -ErrorAction SilentlyContinue
|
||||
}
|
||||
|
||||
if ($installed) {
|
||||
Write-Host " JDownloader installiert!" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host " WARNUNG: JDownloader Installation nicht verifiziert" -ForegroundColor Yellow
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# JD2 BACKUP IMPORTIEREN
|
||||
# Marker-Datei statt cfg/-Check: JDownloader erstellt cfg/ beim ersten Start mit
|
||||
# Default-Dateien, was den alten Check sofort zum Ueberspringen gebracht hat
|
||||
if ($jdPath) {
|
||||
if (Test-Path "$jdPath\.backup-imported") {
|
||||
Write-Host " JD2-Backup bereits importiert - ueberspringe." -ForegroundColor Gray
|
||||
} elseif ($jdPath) {
|
||||
} else {
|
||||
Write-Host " Importiere JD2-Backup..." -ForegroundColor Cyan
|
||||
Write-Host " Ziel: $jdPath" -ForegroundColor Gray
|
||||
# JD2 Backup wird als separate Datei mitgeliefert (jdownloader-backup.zip)
|
||||
# oder aus dem gleichen Verzeichnis wie das Script geladen
|
||||
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
$backupZip = Join-Path $scriptDir "jdownloader-backup.zip"
|
||||
if (-not (Test-Path $backupZip)) {
|
||||
$backupZip = "$tempDir\jd2backup.zip"
|
||||
$backupUrl = "https://streamerware.de/jdownloader-backup.zip"
|
||||
Download-File -Url $backupUrl -Output $backupZip | Out-Null
|
||||
# Backup zuerst lokal suchen, dann von Gitea laden
|
||||
$backupZip = $null
|
||||
$scriptPath = $MyInvocation.MyCommand.Path
|
||||
if ($scriptPath) {
|
||||
$localZip = Join-Path (Split-Path -Parent $scriptPath) "jdownloader-backup.zip"
|
||||
if (Test-Path $localZip) { $backupZip = $localZip }
|
||||
}
|
||||
if (-not $backupZip) {
|
||||
Write-Host " Lade Backup von Gitea..." -ForegroundColor Gray
|
||||
$backupZip = "$tempDir\jdownloader-backup.zip"
|
||||
try {
|
||||
$backupAsset = Get-Gitea-Latest-Asset -Repo "JDownloader-Setup" -Filter "*backup*.zip"
|
||||
if ($backupAsset) {
|
||||
Download-File -Url $backupAsset.browser_download_url -Output $backupZip | Out-Null
|
||||
}
|
||||
} catch {
|
||||
Write-Host " WARNUNG: Backup konnte nicht von Gitea geladen werden" -ForegroundColor Yellow
|
||||
}
|
||||
}
|
||||
if (Test-Path $backupZip) {
|
||||
try {
|
||||
Expand-Archive -Path $backupZip -DestinationPath $jdPath -Force
|
||||
New-Item -Path "$jdPath\.backup-imported" -ItemType File -Force | Out-Null
|
||||
Write-Host " JD2-Settings importiert!" -ForegroundColor Green
|
||||
} catch {
|
||||
Write-Host " FEHLER beim Import: $_" -ForegroundColor Red
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Write-Host " JDownloader-Ordner nicht gefunden - Backup uebersprungen" -ForegroundColor Yellow
|
||||
}
|
||||
|
||||
# 6. FILE-UPLOADER + ORDNER
|
||||
# 13. DESKTOP ORDNER + FILE-UPLOADER
|
||||
Write-Host ""
|
||||
Write-Host "[13/16] Desktop Ordner..." -ForegroundColor Yellow
|
||||
$desktopPath = [Environment]::GetFolderPath("Desktop")
|
||||
Write-Host "[13/$totalSteps] Desktop Ordner..." -ForegroundColor Yellow
|
||||
|
||||
# Ordner "Fertig" und "Unfertig" erstellen (nur wenn nicht vorhanden)
|
||||
if (Test-Path "$desktopPath\Fertig") {
|
||||
Write-Host " Ordner 'Fertig' bereits vorhanden." -ForegroundColor Gray
|
||||
foreach ($folder in @("Downloader Fertig", "Downloader Unfertig", "Entpackt")) {
|
||||
if (Test-Path "$desktopPath\$folder") {
|
||||
Write-Host " Ordner '$folder' bereits vorhanden." -ForegroundColor Gray
|
||||
} else {
|
||||
Write-Host " Erstelle Ordner 'Fertig'..." -ForegroundColor Gray
|
||||
New-Item -ItemType Directory -Force -Path "$desktopPath\Fertig" | Out-Null
|
||||
Write-Host " Erstelle Ordner '$folder'..." -ForegroundColor Gray
|
||||
New-Item -ItemType Directory -Force -Path "$desktopPath\$folder" | Out-Null
|
||||
}
|
||||
if (Test-Path "$desktopPath\Unfertig") {
|
||||
Write-Host " Ordner 'Unfertig' bereits vorhanden." -ForegroundColor Gray
|
||||
} else {
|
||||
Write-Host " Erstelle Ordner 'Unfertig'..." -ForegroundColor Gray
|
||||
New-Item -ItemType Directory -Force -Path "$desktopPath\Unfertig" | Out-Null
|
||||
}
|
||||
|
||||
# File-Uploader vom Server laden (nur wenn nicht vorhanden)
|
||||
if (Test-Path "$desktopPath\File-Uploader") {
|
||||
Write-Host " File-Uploader bereits vorhanden - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
Write-Host " Lade File-Uploader vom Server..." -ForegroundColor Gray
|
||||
$fileUploaderUrl = "https://streamerware.de/FileUploader.rar"
|
||||
$uploaderRar = "$tempDir\FileUploader.rar"
|
||||
|
||||
if (Download-File -Url $fileUploaderUrl -Output $uploaderRar) {
|
||||
Write-Host " Hole File-Uploader von Gitea..." -ForegroundColor Gray
|
||||
try {
|
||||
$winrarPath = "C:\Program Files\WinRAR\WinRAR.exe"
|
||||
if (Test-Path $winrarPath) {
|
||||
Start-Process -FilePath $winrarPath -ArgumentList "x", "-ibck", "-o+", $uploaderRar, "$desktopPath\" -Wait
|
||||
$fuAsset = Get-Gitea-Latest-Asset -Repo "File-Uploader" -Filter "*.rar"
|
||||
} catch { $fuAsset = $null }
|
||||
$uploaderRar = "$tempDir\FileUploader.rar"
|
||||
if ($fuAsset -and (Download-File -Url $fuAsset.browser_download_url -Output $uploaderRar)) {
|
||||
if (Unrar-File -RarPath $uploaderRar -DestPath $desktopPath) {
|
||||
Write-Host " File-Uploader installiert!" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host " FEHLER: WinRAR nicht gefunden (fuer .rar Entpacken)." -ForegroundColor Red
|
||||
}
|
||||
} catch {
|
||||
Write-Host " FEHLER beim Entpacken: $_" -ForegroundColor Red
|
||||
}
|
||||
} else {
|
||||
Write-Host " FEHLER: Download vom Server fehlgeschlagen." -ForegroundColor Red
|
||||
}
|
||||
}
|
||||
|
||||
Write-Host " Desktop Ordner erstellt!" -ForegroundColor Green
|
||||
|
||||
# 13. SCRIPTE
|
||||
# 14. SCRIPTE
|
||||
Write-Host ""
|
||||
Write-Host "[14/16] Scripte..." -ForegroundColor Yellow
|
||||
Write-Host "[14/$totalSteps] Scripte..." -ForegroundColor Yellow
|
||||
if (Test-Path "$desktopPath\Rename MKV AVI.py") {
|
||||
Write-Host " Bereits vorhanden - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
$scripteUrl = "https://streamerware.de/Scripte.rar"
|
||||
try {
|
||||
$scriptAsset = Get-Gitea-Latest-Asset -Repo "xabbo-scripts" -Filter "*.rar"
|
||||
} catch { $scriptAsset = $null }
|
||||
$scripteRar = "$tempDir\Scripte.rar"
|
||||
if (Download-File -Url $scripteUrl -Output $scripteRar) {
|
||||
if ($scriptAsset -and (Download-File -Url $scriptAsset.browser_download_url -Output $scripteRar)) {
|
||||
Write-Host " Entpacke Scripte auf Desktop..." -ForegroundColor Gray
|
||||
$winrarPath = "C:\Program Files\WinRAR\WinRAR.exe"
|
||||
if (Test-Path $winrarPath) {
|
||||
Start-Process -FilePath $winrarPath -ArgumentList "x", "-ibck", "-o+", $scripteRar, "$desktopPath\" -Wait
|
||||
if (Unrar-File -RarPath $scripteRar -DestPath $desktopPath) {
|
||||
Write-Host " Scripte installiert!" -ForegroundColor Green
|
||||
} else {
|
||||
Write-Host " FEHLER: WinRAR nicht gefunden" -ForegroundColor Red
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# 14. TWITCH VOD MANAGER
|
||||
# 15. TWITCH VOD MANAGER (von Gitea)
|
||||
Install-Gitea-App -Name "Twitch VOD Manager" -Repo "Twitch-VOD-Manager" `
|
||||
-StepNum 15 `
|
||||
-DetectPaths @("$env:LOCALAPPDATA\Programs\twitch-vod-manager\Twitch VOD Manager.exe", "$desktopPath\Twitch VOD Manager.lnk") `
|
||||
-ProcessName "Twitch VOD Manager"
|
||||
|
||||
# 16. MULTI-HOSTER-UPLOAD (von Gitea)
|
||||
Install-Gitea-App -Name "Multi-Hoster-Upload" -Repo "Multi-Hoster-Upload" `
|
||||
-StepNum 16 `
|
||||
-DetectPaths @("$env:LOCALAPPDATA\Programs\multi-hoster-upload\Multi-Hoster-Upload.exe", "$desktopPath\Multi-Hoster-Upload.lnk") `
|
||||
-ProcessName "Multi-Hoster-Upload"
|
||||
Copy-Gitea-DataFile-To-Desktop -Repo "Multi-Hoster-Upload" -Filter "*.mhu"
|
||||
|
||||
# 17. REAL-DEBRID-DOWNLOADER (von Gitea)
|
||||
Install-Gitea-App -Name "Real-Debrid-Downloader" -Repo "real-debrid-downloader" `
|
||||
-StepNum 17 `
|
||||
-DetectPaths @("$env:LOCALAPPDATA\Programs\real-debrid-downloader\Real-Debrid-Downloader.exe", "$desktopPath\Real-Debrid-Downloader.lnk") `
|
||||
-ProcessName "Real-Debrid-Downloader"
|
||||
Copy-Gitea-DataFile-To-Desktop -Repo "real-debrid-downloader" -Filter "*.mdd"
|
||||
|
||||
# 18. WINDOWS EINSTELLUNGEN
|
||||
Write-Host ""
|
||||
Write-Host "[15/16] Twitch VOD Manager..." -ForegroundColor Yellow
|
||||
$twitchPath = "$desktopPath\Twitch Downloader"
|
||||
if (Test-Path "$twitchPath\Twitch_VOD_Manager.exe") {
|
||||
Write-Host " Bereits vorhanden - ueberspringe." -ForegroundColor Gray
|
||||
} else {
|
||||
$twitchUrl = "https://streamerware.de/Twitch_VOD_Manager.zip"
|
||||
$twitchZip = "$tempDir\Twitch_VOD_Manager.zip"
|
||||
if (Download-File -Url $twitchUrl -Output $twitchZip) {
|
||||
Write-Host " Entpacke Twitch VOD Manager auf Desktop..." -ForegroundColor Gray
|
||||
Expand-Archive -Path $twitchZip -DestinationPath $desktopPath -Force
|
||||
Write-Host " Twitch VOD Manager installiert!" -ForegroundColor Green
|
||||
}
|
||||
}
|
||||
Write-Host "[18/$totalSteps] Windows Einstellungen..." -ForegroundColor Yellow
|
||||
|
||||
# 12. WINDOWS EINSTELLUNGEN
|
||||
Write-Host ""
|
||||
Write-Host "[16/16] Windows Einstellungen..." -ForegroundColor Yellow
|
||||
|
||||
# IE Enhanced Security Configuration deaktivieren (fuer Administratoren und Benutzer)
|
||||
# IE Enhanced Security Configuration deaktivieren
|
||||
Write-Host " IE Enhanced Security deaktivieren..." -ForegroundColor Gray
|
||||
$ieAdminKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A7-37EF-4b3f-8CFC-4F3A74704073}"
|
||||
$ieUserKey = "HKLM:\SOFTWARE\Microsoft\Active Setup\Installed Components\{A509B1A8-37EF-4b3f-8CFC-4F3A74704073}"
|
||||
@ -371,6 +513,39 @@ Set-ItemProperty -Path $desktopRegPath -Name "IconSize" -Value 32 -Type DWord -F
|
||||
Set-ItemProperty -Path $desktopRegPath -Name "Mode" -Value 1 -Type DWord -Force
|
||||
Set-ItemProperty -Path $desktopRegPath -Name "LogicalViewMode" -Value 3 -Type DWord -Force
|
||||
|
||||
# Windows Update dauerhaft deaktivieren
|
||||
Write-Host " Windows Update deaktivieren..." -ForegroundColor Gray
|
||||
# Update-Service stoppen und auf "Deaktiviert" setzen
|
||||
Stop-Service -Name "wuauserv" -Force -ErrorAction SilentlyContinue
|
||||
Set-Service -Name "wuauserv" -StartupType Disabled -ErrorAction SilentlyContinue
|
||||
# Orchestrator-Service (plant Updates im Hintergrund)
|
||||
Stop-Service -Name "UsoSvc" -Force -ErrorAction SilentlyContinue
|
||||
Set-Service -Name "UsoSvc" -StartupType Disabled -ErrorAction SilentlyContinue
|
||||
# BITS (Background Intelligent Transfer Service - laedt Updates runter)
|
||||
Stop-Service -Name "BITS" -Force -ErrorAction SilentlyContinue
|
||||
Set-Service -Name "BITS" -StartupType Disabled -ErrorAction SilentlyContinue
|
||||
# Registry: Automatische Updates komplett deaktivieren
|
||||
$wuRegPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
|
||||
if (-not (Test-Path $wuRegPath)) {
|
||||
New-Item -Path $wuRegPath -Force | Out-Null
|
||||
}
|
||||
# NoAutoUpdate = 1 → Keine automatischen Updates
|
||||
Set-ItemProperty -Path $wuRegPath -Name "NoAutoUpdate" -Value 1 -Type DWord -Force
|
||||
# AUOptions = 1 → Nie nach Updates suchen
|
||||
Set-ItemProperty -Path $wuRegPath -Name "AUOptions" -Value 1 -Type DWord -Force
|
||||
Write-Host " Windows Update deaktiviert!" -ForegroundColor Green
|
||||
|
||||
# Energiesparplan auf Hoechstleistung setzen
|
||||
Write-Host " Energiesparplan auf Hoechstleistung..." -ForegroundColor Gray
|
||||
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
|
||||
Write-Host " Hoechstleistung aktiviert!" -ForegroundColor Green
|
||||
|
||||
# Explorer neu starten damit alle Einstellungen sofort wirksam werden
|
||||
Write-Host " Explorer wird neu gestartet..." -ForegroundColor Gray
|
||||
Stop-Process -Name "explorer" -Force -ErrorAction SilentlyContinue
|
||||
Start-Sleep -Seconds 2
|
||||
Start-Process "explorer.exe"
|
||||
|
||||
Write-Host " Windows Einstellungen angepasst!" -ForegroundColor Green
|
||||
|
||||
# CLEANUP
|
||||
@ -384,3 +559,4 @@ Write-Host " FERTIG! Alle Programme installiert." -ForegroundColor Green
|
||||
Write-Host "========================================" -ForegroundColor Green
|
||||
Write-Host ""
|
||||
Write-Host "Druecke eine Taste zum Beenden..."
|
||||
$host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | Out-Null
|
||||
|
||||
Loading…
Reference in New Issue
Block a user