diff --git a/content/self-host/client-deployment/integrations/tactical-rmm/_index.de.md b/content/self-host/client-deployment/integrations/tactical-rmm/_index.de.md new file mode 100644 index 0000000..f76dc4d --- /dev/null +++ b/content/self-host/client-deployment/integrations/tactical-rmm/_index.de.md @@ -0,0 +1,101 @@ +--- +title: Tactical RMM +weight: 100 +--- + +## Um Tactical RMM mit RustDesk zu verwenden, müssen Sie Folgendes tun + +1. Installieren Sie Ihren eigenen Tactical RMM-Server, folgen Sie den [offiziellen Dokumenten](https://docs.tacticalrmm.com/) und öffnen Sie Ports. +2. Erstellen Sie die folgenden PowerShell-Skripte. +3. Erstellen Sie eine [URL-Aktion](https://docs.tacticalrmm.com/functions/url_actions/). +4. Erstellen Sie [benutzerdefinierte Felder](https://docs.tacticalrmm.com/functions/custom_fields/) für die RustDesk-ID und das Passwort. +5. Erstellen Sie [Sammelaufgaben](https://docs.tacticalrmm.com/functions/automated_tasks/#collector-tasks). + +## Installationsskript zum Ersetzen von IPADDRESS und KEY +```ps +$ErrorActionPreference= 'silentlycontinue' + +If (!(Test-Path C:\Temp)) { + New-Item -ItemType Directory -Force -Path C:\Temp > null +} + +cd C:\Temp + +powershell Invoke-WebRequest "https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-x86_64.exe" -Outfile "rustdesk.exe" +Start-Process .\rustdesk.exe --silent-install -wait + +$ServiceName = 'Rustdesk' +$arrService = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue + +if ($arrService -eq $null) +{ + Start-Sleep -seconds 20 +} + +while ($arrService.Status -ne 'Running') +{ + Start-Service $ServiceName + Start-Sleep -seconds 5 + $arrService.Refresh() +} +net stop rustdesk + +$username = ((Get-WMIObject -ClassName Win32_ComputerSystem).Username).Split('\')[1] +Remove-Item C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml +New-Item C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml +Set-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'IPADDRESS' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'IPADDRESS'`nkey = 'KEY='`nrelay-server = 'IPADDRESS'`napi-server = 'https://IPADDRESS'" +Remove-Item C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml +New-Item C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml +Set-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'IPADDRESS' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'IPADDRESS'`nkey = 'KEY='`nrelay-server = 'IPADDRESS'`napi-server = 'https://IPADDRESS'" + +net start rustdesk +``` + +## RustDesk ID abfragen (Sammelskript benötigt benutzerdefiniertes Agent-Feld) + +```ps +$ErrorActionPreference= 'silentlycontinue' + +cd $env:ProgramFiles\RustDesk\ +.\RustDesk.exe --get-id | out-host +``` + +## RustDesk Passwort setzen und abfragen (Sammelskript benötigt benutzerdefiniertes Agent-Feld) +```ps +$ErrorActionPreference= 'silentlycontinue' + +$confirmation_file = "C:\Program Files\RustDesk\runonce.txt" + +if ([System.IO.File]::Exists($confirmation_file)) { + echo "Bestätigungsdatei ist vorhanden" + exit 0 +} +else +{ +$ErrorActionPreference= 'silentlycontinue' + +net stop rustdesk > null +$ProcessActive = Get-Process rustdesk -ErrorAction SilentlyContinue +if($ProcessActive -ne $null) +{ +stop-process -ProcessName rustdesk -Force +} + +$rustdesk_pw = (-join ((65..90) + (97..122) | Get-Random -Count 12 | % {[char]$_})) +Start-Process "$env:ProgramFiles\RustDesk\RustDesk.exe" "--password $rustdesk_pw" -wait +Write-Output $rustdesk_pw + +net start rustdesk > null + +New-Item $confirmation_file > null +} +``` + +## RustDesk URL-Aktion +``` +rustdesk://connection/new/{{agent.rustdeskid}}?password={{agent.rustdeskpwd}} +``` + +## Benutzerdefinierte Agent-Felder hinzufügen +`rustdeskid Type = Text`
+`rustdeskpwd Type = Text`