# Deploy GuruRMM Agent to AD2 (Simplified - No WinRM) # This script just copies the binary - service management done manually $ErrorActionPreference = "Stop" Write-Host "[INFO] Starting GuruRMM agent deployment to AD2 (SMB only)..." # Credentials $password = ConvertTo-SecureString 'Paper123!@#' -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential('INTRANET\sysadmin', $password) # Paths $localBinary = "D:\ClaudeTools\projects\msp-tools\guru-rmm\agent\target\release\gururmm-agent.exe" $remotePath = "\\192.168.0.6\C$\Program Files\GuruRMM" $remoteAgent = "$remotePath\gururmm-agent.exe" $remoteBackup = "$remotePath\gururmm-agent.exe.backup" # Connect to AD2 Write-Host "[INFO] Connecting to AD2 via SMB..." New-PSDrive -Name AD2 -PSProvider FileSystem -Root "\\192.168.0.6\C$" -Credential $cred | Out-Null Write-Host "[OK] Connected to AD2" # Check if agent directory exists if (Test-Path "AD2:\Program Files\GuruRMM") { Write-Host "[OK] GuruRMM directory found" } else { Write-Host "[WARNING] GuruRMM directory not found - creating..." New-Item -Path "AD2:\Program Files\GuruRMM" -ItemType Directory | Out-Null } # Check for existing agent if (Test-Path $remoteAgent) { $existingAgent = Get-Item $remoteAgent Write-Host "[OK] Found existing agent:" Write-Host " Size: $([math]::Round($existingAgent.Length / 1MB, 2)) MB" Write-Host " Modified: $($existingAgent.LastWriteTime)" # Backup existing agent Write-Host "[INFO] Backing up existing agent..." Copy-Item -Path $remoteAgent -Destination $remoteBackup -Force Write-Host "[OK] Backup created: gururmm-agent.exe.backup" } else { Write-Host "[INFO] No existing agent found - this will be a fresh install" } # Copy new agent Write-Host "[INFO] Copying new agent to AD2..." $localInfo = Get-Item $localBinary Write-Host " Source size: $([math]::Round($localInfo.Length / 1MB, 2)) MB" Copy-Item -Path $localBinary -Destination $remoteAgent -Force Write-Host "[OK] Agent copied successfully" # Verify copy $copiedAgent = Get-Item $remoteAgent Write-Host "[OK] Verification:" Write-Host " Size: $([math]::Round($copiedAgent.Length / 1MB, 2)) MB" Write-Host " Modified: $($copiedAgent.LastWriteTime)" # Cleanup Remove-PSDrive -Name AD2 Write-Host "" Write-Host "[SUCCESS] File deployment complete!" Write-Host "" Write-Host "IMPORTANT: Manual service management required:" Write-Host "1. Connect to AD2: ssh INTRANET\\\\sysadmin@192.168.0.6" Write-Host "2. Stop service: Stop-Service gururmm-agent" Write-Host "3. Start service: Start-Service gururmm-agent" Write-Host "4. Check status: Get-Service gururmm-agent" Write-Host ""