Dateien nach "/" hochladen
This commit is contained in:
commit
ef41090fb9
2 files changed
+63
No files matched your search
@@ -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"
|
||||||
@@ -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
|
||||||
|
}
|
||||||
Reference in new issue
Block a user