From a4337460ee83165da631a4bcf6d12000b7ed10a8 Mon Sep 17 00:00:00 2001 From: "rob.mcewan" Date: Tue, 15 Apr 2025 23:50:19 +1000 Subject: [PATCH] Add powershell/trmm20250415.ps1 --- powershell/trmm20250415.ps1 | 73 +++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 powershell/trmm20250415.ps1 diff --git a/powershell/trmm20250415.ps1 b/powershell/trmm20250415.ps1 new file mode 100644 index 0000000..c9a7222 --- /dev/null +++ b/powershell/trmm20250415.ps1 @@ -0,0 +1,73 @@ +$innosetup = 'tacticalagent-v2.8.0-windows-amd64.exe' +$api = '"https://api.biztechsynergy.xyz"' +$clientid = '5' +$siteid = '8' +$agenttype = '"workstation"' +$power = 1 +$rdp = 1 +$ping = 1 +$auth = '"38afc3fe72d5d8e20db10cb1ea9171bebf054bec23c3f11eee1e0f7e01b60ed2"' +$downloadlink = 'https://github.com/amidaware/rmmagent/releases/download/v2.8.0/tacticalagent-v2.8.0-windows-amd64.exe' +$apilink = $downloadlink.split('/') +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$serviceName = 'tacticalrmm' +If (Get-Service $serviceName -ErrorAction SilentlyContinue) { + write-host ('Tactical RMM Is Already Installed') +} Else { + $OutPath = $env:TMP + $output = $innosetup + $installArgs = @('-m install --api ', "$api", '--client-id', $clientid, '--site-id', $siteid, '--agent-type', "$agenttype", '--auth', "$auth") + if ($power) { + $installArgs += "--power" + } + if ($rdp) { + $installArgs += "--rdp" + } + if ($ping) { + $installArgs += "--ping" + } + Try + { + $DefenderStatus = Get-MpComputerStatus | select AntivirusEnabled + if ($DefenderStatus -match "True") { + Add-MpPreference -ExclusionPath 'C:\Program Files\TacticalAgent\*' + Add-MpPreference -ExclusionPath 'C:\Program Files\Mesh Agent\*' + Add-MpPreference -ExclusionPath 'C:\ProgramData\TacticalRMM\*' + } + } + Catch { + # pass + } + + $X = 0 + do { + Write-Output "Waiting for network" + Start-Sleep -s 5 + $X += 1 + } until(($connectresult = Test-NetConnection $apilink[2] -Port 443 | ? { $_.TcpTestSucceeded }) -or $X -eq 3) + + if ($connectresult.TcpTestSucceeded -eq $true){ + Try + { + Invoke-WebRequest -Uri $downloadlink -OutFile $OutPath\$output + Start-Process -FilePath $OutPath\$output -ArgumentList ('/VERYSILENT /SUPPRESSMSGBOXES') -Wait + write-host ('Extracting...') + Start-Sleep -s 5 + Start-Process -FilePath "C:\Program Files\TacticalAgent\tacticalrmm.exe" -ArgumentList $installArgs -Wait + exit 0 + } + Catch + { + $ErrorMessage = $_.Exception.Message + $FailedItem = $_.Exception.ItemName + Write-Error -Message "$ErrorMessage $FailedItem" + exit 1 + } + Finally + { + Remove-Item -Path $OutPath\$output + } + } else { + Write-Output "Unable to connect to server" + } +} \ No newline at end of file