param (
    [string]$Tag,
    [string]$Server = "https://glpi.mh-itsm.de/"
)

<#
    Installationsskript für GLPI Agent.
    Fragt Tag und Server ab, installiert den Agenten,
    importiert die Update-Task und kopiert das Update-Skript.
#>

# Tag abfragen, falls nicht übergeben
if (-not $Tag) {
    $Tag = Read-Host "Bitte Tag eingeben"
}

# Server mit Default-Wert anbieten
$serverInput = Read-Host "GLPI Server-URL eingeben [by Default $Server]"
if ($serverInput) {
    $Server = $serverInput
}

# Pfade
$msi          = Join-Path $PSScriptRoot "GLPI-Agent-1.14-x64.msi"
$taskXml      = Join-Path $PSScriptRoot "glpi_update_task.xml"
$updateScript = Join-Path $PSScriptRoot "glpi_agent_update.ps1"
$targetSupport = "C:\support"

# GLPI Agent Installation mit SERVER und TAG
$installCmd = "/i `"$msi`" /quiet RUNNOW=1 SERVER=$Server TAG=$Tag ADD_FIREWALL_EXCEPTION=1 ADDLOCAL=feat_AGENT,feat_DEPLOY EXECMODE=1"
Start-Process -FilePath "msiexec.exe" -ArgumentList $installCmd -Wait

# Ordner C:\support erstellen, falls nicht vorhanden
#if (-not (Test-Path $targetSupport)) {
#    New-Item -ItemType Directory -Path $targetSupport | Out-Null
#}

# Update-Skript nach C:\support kopieren
Copy-Item $updateScript -Destination $targetSupport -Force

# Geplante Aufgabe importieren
schtasks /Create /TN "GLPI_Agent_Update" /XML $taskXml /F

Write-Host "Installation abgeschlossen."