Windows agent

Lightweight PowerShell agent for corporate laptops used outside the office. It reports power on/off, heartbeat, public IP, local IP, and VPN state to https://assets.irandevops.ir. Deploy via Intune Win32 app, Group Policy startup script, or manual IT imaging.

Standalone HTML guide: /agent-manual.html

  1. 1

    Copy the agent folder to the laptop

    Copy agent/windows from this repo to the laptop (for example C:\Assets\agent\windows). Point ServerUrl at https://assets.irandevops.ir.

  2. 2

    Run Install-OutdeskAgent.ps1 as Administrator

    Creates C:\ProgramData\Outdesk, registers Task Scheduler jobs for startup, shutdown, and a 10-minute heartbeat.

  3. 3

    Confirm events in Reports

    After reboot or a manual Send-OutdeskEvent.ps1 -EventType power_on, the laptop appears on the Reports page at https://assets.irandevops.ir/dashboard.

Install (Admin PowerShell)

cd C:\Assets\agent\windows
.\Install-OutdeskAgent.ps1 `
  -ServerUrl "https://assets.irandevops.ir" `
  -DeviceId "LAP-1042" `
  -AssignedTo "Reza Mohammadi" `
  -AgentToken "optional-shared-secret"

Manual test event

cd C:\ProgramData\Outdesk
.\Send-OutdeskEvent.ps1 -EventType heartbeat

# or POST with Invoke-RestMethod
Invoke-RestMethod -Method Post `
  -Uri "https://assets.irandevops.ir/api/telemetry" `
  -ContentType "application/json" `
  -Body (@{
    deviceId="LAP-9999"
    hostname=$env:COMPUTERNAME
    username=$env:USERNAME
    assignedTo="Test User"
    eventType="power_on"
    publicIp="203.0.113.10"
    localIp="192.168.1.10"
    vpnConnected=$false
    osVersion=(Get-CimInstance Win32_OperatingSystem).Caption
    country="IR"
  } | ConvertTo-Json)

Files in this repo

  • agent/windows/Send-OutdeskEvent.ps1 — collects IPs / VPN / OS and posts JSON
  • agent/windows/Install-OutdeskAgent.ps1 — installs scheduled tasks for startup, shutdown, heartbeat
  • agent/windows/Uninstall-OutdeskAgent.ps1 — removes tasks and program data
  • public/agent-manual.html — standalone HTML install manual
  • src/lib/ip-policy.ts — demo allowlist for “valid IP” (edit for your VPN/egress ranges and countries)

Privacy & policy note

This agent is for company-owned endpoints. Tell employees what is collected (power times, hostname, username, IP, VPN state), keep a retention policy, and prefer Intune/RMM deployment with a least-privilege service account. Do not use this for covert surveillance of personal devices.