247 lines
4.9 KiB
PowerShell
Executable File
247 lines
4.9 KiB
PowerShell
Executable File
#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 "======================================="
|
|
|
|
} |