$ErrorActionPreference= 'silentlycontinue' #Run as administrator and stays in the current directory if (-Not ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { if ([int](Get-CimInstance -Class Win32_OperatingSystem | Select-Object -ExpandProperty BuildNumber) -ge 6000) { Start-Process PowerShell -Verb RunAs -ArgumentList "-NoProfile -ExecutionPolicy Bypass -Command `"cd '$pwd'; & '$PSCommandPath';`""; Exit; } } # Replace rustdesk.blockbox.de and KNxoC8TiKenqLwJccQQY6aYxukhez5PDaOnBVt5brDE= with the relevant info for your install. IE rustdesk.blockbox.de becomes your rustdesk server IP or DNS and KNxoC8TiKenqLwJccQQY6aYxukhez5PDaOnBVt5brDE= becomes your public key. If (!(Test-Path $env:Temp)) { New-Item -ItemType Directory -Force -Path $env:Temp > null } If (!(Test-Path "$env:ProgramFiles\Rustdesk\RustDesk.exe")) { $ErrorActionPreference= 'silentlycontinue' If (!(Test-Path c:\Temp)) { New-Item -ItemType Directory -Force -Path c:\Temp > null } cd c:\Temp echo "RustDesk Installer v0.03 BBX/UCP" echo "download rustdesk from github" #powershell Invoke-WebRequest "https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-x86_64.exe" -Outfile "rustdesk.exe" powershell Invoke-WebRequest "https://github.com/rustdesk/rustdesk/releases/download/1.2.3/rustdesk-1.2.3-x86_64.exe" -Outfile "rustdesk.exe" echo "download rustdesk complete" echo "Rustdesk Installation" Start-Process .\rustdesk.exe --silent-install #-wait echo "waiting for 30 sec." Start-Sleep -seconds 30 $ServiceName = 'Rustdesk' $arrService = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue if ($arrService -eq $null) { echo "start sleep im array for 20 sec" Start-Sleep -seconds 20 } echo "arrSerice done ..." while ($arrService.Status -ne 'Running') { echo "while arrService" Start-Service $ServiceName Start-Sleep -seconds 5 $arrService.Refresh() } echo "arrSerice.Status done ..." net stop rustdesk echo "Setup Rustdesk config" $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 = 'rustdesk.blockbox.de' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'rustdesk.blockbox.de'`nkey = 'KNxoC8TiKenqLwJccQQY6aYxukhez5PDaOnBVt5brDE='`nrelay-server = 'rustdesk.blockbox.de'`napi-server = 'https://rustdesk.blockbox.de'" #Set-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'rustdesk.blockbox.de' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'rustdesk.blockbox.de' `nkey = 'KNxoC8TiKenqLwJccQQY6aYxukhez5PDaOnBVt5brDE=' `nrelay-server = 'rustdesk.blockbox.de' `napi-server = 'https://rustdesk.blockbox.de' `nverification-method = 'use-permanent-password' `nallow-remote-config-modification = 'Y' `nallow-auto-disconnect = 'Y' `nauto-disconnect-timeout = '60' `nrdp-session-sharing = 'Y'" Set-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'rustdesk.blockbox.de'" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "nat_type = 1" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "serial = 0" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "`n[options]`ncustom-rendezvous-server = 'rustdesk.blockbox.de'" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "key = 'KNxoC8TiKenqLwJccQQY6aYxukhez5PDaOnBVt5brDE='" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "relay-server = 'rustdesk.blockbox.de'" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "api-server = 'https://rustdesk.blockbox.de'" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "verification-method = 'use-permanent-password'" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "allow-remote-config-modification = 'Y'" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "allow-auto-disconnect = 'Y'" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "auto-disconnect-timeout = '45'" Add-Content C:\Users\$username\AppData\Roaming\RustDesk\config\RustDesk2.toml "rdp-session-sharing = 'Y'" 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 = 'rustdesk.blockbox.de' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'rustdesk.blockbox.de'`nkey = 'KNxoC8TiKenqLwJccQQY6aYxukhez5PDaOnBVt5brDE='`nrelay-server = 'rustdesk.blockbox.de'`napi-server = 'https://rustdesk.blockbox.de'" #Set-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'rustdesk.blockbox.de' `nnat_type = 1`nserial = 0`n`n[options]`ncustom-rendezvous-server = 'rustdesk.blockbox.de' `nkey = 'KNxoC8TiKenqLwJccQQY6aYxukhez5PDaOnBVt5brDE=' `nrelay-server = 'rustdesk.blockbox.de' `napi-server = 'https://rustdesk.blockbox.de' `nverification-method = 'use-permanent-password' `nallow-remote-config-modification = 'Y' `nallow-auto-disconnect = 'Y' `nauto-disconnect-timeout = '60' `nrdp-session-sharing = 'Y'" Set-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "rendezvous_server = 'rustdesk.blockbox.de'" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "nat_type = 1" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "serial = 0" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "`n[options]`ncustom-rendezvous-server = 'rustdesk.blockbox.de'" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "key = 'KNxoC8TiKenqLwJccQQY6aYxukhez5PDaOnBVt5brDE='" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "relay-server = 'rustdesk.blockbox.de'" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "api-server = 'https://rustdesk.blockbox.de'" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "verification-method = 'use-permanent-password'" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "allow-remote-config-modification = 'Y'" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "allow-auto-disconnect = 'Y'" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "auto-disconnect-timeout = '45'" Add-Content C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\RustDesk\config\RustDesk2.toml "rdp-session-sharing = 'Y'" #net start rustdesk # $random_pass = (-join ((65..90) + (97..122) | Get-Random -Count 8 | % {[char]$_})) # Start-Process "$env:ProgramFiles\RustDesk\RustDesk.exe" -argumentlist "--password $random_pass" -wait #net stop rustdesk > null $ProcessActive = Get-Process rustdesk -ErrorAction SilentlyContinue if($ProcessActive -ne $null) { stop-process -ProcessName rustdesk -Force } net start rustdesk > null $rustdesk_pw = "1000Berlin37!" #$rustdesk_pw = (-join ((65..90) + (97..122) | Get-Random -Count 12 | % {[char]$_})) Start-Process "$env:ProgramFiles\RustDesk\RustDesk.exe" "--password $rustdesk_pw" -wait #net start rustdesk > null Write-Output "`n`nRustDesk ID is: $rustdesk_id" cd $env:ProgramFiles\RustDesk\ $rustdesk_id = (.\RustDesk.exe --get-id | out-host) Write-Output "RustDesk Password is: $rustdesk_pw" Stop-Process -Name RustDesk -Force > null Start-Service -Name RustDesk > null cd c:\Temp Start-Process .\rustdesk.exe --silent-install #-wait echo "clean up ...`n" rm rustdesk.exe rm null echo "Rustdesk Installation erledigt....`n" echo "***************************************************" echo "***** ggf. RDP-Sitzungsfreigabe aktivieren ********" echo "***************************************************`n" pause # C:\Users\martin\AppData\Local\Temp\RustDesk_share_rdp.bat #clear #pause #echo "TeamViewer silent deinstall" #echo "or press CTRL-C" #pause #cd 'C:\Program Files (x86)\TeamViewer\' #Start-Process .\uninstall.exe /S #echo "TeamViewer ist deinstalliert" #pause }