Dateien nach "/" hochladen

This commit is contained in:
manuel.maier committed 2026-10-17 15:32:03 +02:00
commit ef41090fb9
2 files changed
+63

No files matched your search

+11
View File
@@ -0,0 +1,11 @@
# Aktion: Startet PowerShell versteckt und führt das Skript aus
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-WindowStyle Hidden -ExecutionPolicy Bypass -File `"C:\scripts\rd-heartbeat.ps1`""
# Trigger: Einmalig jetzt starten und dann unendlich alle 1 Minute wiederholen
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 1)
# Principal: Als SYSTEM-Konto mit höchsten Rechten ausführen (verhindert Popups)
$principal = New-ScheduledTaskPrincipal -UserId "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest
# Task registrieren
Register-ScheduledTask -TaskName "RustDesk Heartbeat" -Action $action -Trigger $trigger -Principal $principal -Description "Sendet minuetlich den RustDesk-Status an das Adressbuch-Dashboard"
+52
View File
@@ -0,0 +1,52 @@
# ==========================================
# RustDesk Heartbeat Script (via EXE)
# ==========================================
$DashboardUrl = "http://10.10.20.225:8082"
$RustDeskId = $null
$ExePaths = @(
"$env:ProgramFiles\RustDesk\rustdesk.exe",
"${env:ProgramFiles(x86)}\RustDesk\rustdesk.exe",
"C:\RustDesk\rustdesk.exe",
"C:\Program Files\RustDeskSupportModul\RustDeskSupportModul.exe"
)
$FoundExe = $null
# 1. rustdesk.exe suchen
foreach ($Path in $ExePaths) {
if (Test-Path $Path) {
$FoundExe = $Path
break
}
}
# 2. ID sicher abfragen
if ($FoundExe) {
Write-Host "RustDesk gefunden in: $FoundExe" -ForegroundColor Cyan
# Arbeitsverzeichnis in den RustDesk-Ordner wechseln
$WorkDir = Split-Path $FoundExe
Set-Location -Path $WorkDir
# ID abfragen und mit Out-String in Text zwingen (verhindert den NULL Fehler)
$rawId = & $FoundExe --get-id | Out-String
if (-not [string]::IsNullOrWhiteSpace($rawId)) {
$RustDeskId = $rawId.Trim()
}
}
# 3. Heartbeat senden
if ($RustDeskId) {
$HeartbeatUrl = "$DashboardUrl/api/heartbeat/$RustDeskId"
try {
Invoke-RestMethod -Uri $HeartbeatUrl -Method Get -UseBasicParsing -ErrorAction Stop
Write-Host "[OK] Heartbeat erfolgreich gesendet fuer ID: $RustDeskId" -ForegroundColor Green
} catch {
Write-Host "[FEHLER] Fehler beim Senden des Heartbeats an $HeartbeatUrl : $_" -ForegroundColor Red
}
} else {
Write-Host "[FEHLER] Konnte rustdesk.exe zwar finden, aber die ID wurde leer zurueckgegeben." -ForegroundColor Red
}