#Requires -RunAsAdministrator <# =========================================================================== Veeam Backup & Replication v13 Enterprise Installer Version : 2.0 Author : ChatGPT + Benutzer Part 1 =========================================================================== Enthält: - Grundeinstellungen - Konfiguration - Logging - Fehlerbehandlung - Arbeitsverzeichnisse - Initialisierung =========================================================================== #> $ErrorActionPreference = "Stop" ############################################################ # VERSION ############################################################ $Script:Version = "2.0" ############################################################ # VERZEICHNISSE ############################################################ $Script:WorkDir = "C:\Temp\VeeamInstall" $Script:LogDir = Join-Path $WorkDir "Logs" $Script:StateFile = Join-Path $WorkDir "State.json" $Script:ResumeFlag = Join-Path $WorkDir "Resume.flag" $Script:InstallLog = Join-Path $LogDir "Install.log" ############################################################ # INSTALLATIONSQUELLEN ############################################################ $Script:DVDSource = "E:\" $Script:NetworkSource = "\\172.68.1.1\Sources" ############################################################ # SQL ############################################################ $Script:SQLInstance = "VEEAMSQLSERVER" $Script:DatabaseName = "VeeamBackup" $Script:SQLAuthentication = 0 ############################################################ # INSTALLATIONSPFADE ############################################################ $Script:InstallPath = "F:\Program Files\Veeam\Backup and Replication" $Script:CatalogPath = "H:\VBRCatalog" $Script:IRCachePath = "F:\ProgramData\Veeam\Backup\IRCache" ############################################################ # PORTS ############################################################ $Script:GuestCatalogPort = 9393 $Script:VeeamServicePort = 9392 $Script:SecureConnectionPort = 9401 $Script:RestServicePort = 9419 ############################################################ # OPTIONEN ############################################################ $Script:AutoReboot = $true $Script:UseLicense = $false $Script:UseServiceAccount = $false ############################################################ # PLUGINS ############################################################ $Script:Plugins = @{ AHV_INSTALL = 0 KVM_INSTALL = 0 PVE_INSTALL = 0 SCP_INSTALL = 0 AWS_INSTALL = 0 AZURE_INSTALL = 0 GCP_INSTALL = 0 KASTEN_INSTALL = 0 } ############################################################ # LOGGING ############################################################ function Write-Log { param( [Parameter(Mandatory)] [string]$Message ) $Time = Get-Date -Format "yyyy-MM-dd HH:mm:ss" $Line = "$Time - $Message" Write-Host $Line Add-Content ` -Path $InstallLog ` -Value $Line } ############################################################ # FEHLER ############################################################ function Stop-Installation { param( [string]$Message ) Write-Log "" Write-Log "########################################" Write-Log "INSTALLATION ABGEBROCHEN" Write-Log $Message Write-Log "########################################" exit 1 } ############################################################ # VERZEICHNISSE ############################################################ function Initialize-Directories { if(Test-Path $WorkDir) { Remove-Item ` $WorkDir ` -Recurse ` -Force } New-Item ` -ItemType Directory ` -Path $WorkDir ` -Force | Out-Null New-Item ` -ItemType Directory ` -Path $LogDir ` -Force | Out-Null } ############################################################ # STARTBANNER ############################################################ function Show-Banner { Clear-Host Write-Host "" Write-Host "===============================================" Write-Host " Veeam Backup & Replication v13" Write-Host " Enterprise Installer" Write-Host "" Write-Host " Version $Version" Write-Host "===============================================" Write-Host "" } ############################################################ # INITIALISIERUNG ############################################################ function Initialize-Installer { Show-Banner Initialize-Directories Write-Log "=======================================" Write-Log "Installer Version $Version" Write-Log "Computer: $env:COMPUTERNAME" Write-Log "Benutzer: $env:USERNAME" Write-Log "=======================================" }