Skip to main content

Python web dashboard for reserving and launching Windows Remote Desktop machines.

Project description

Windows Remote Desktop Dashboard

Python-based browser dashboard for reserving shared RDP machines.

Install From Source

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install .
$env:ADMIN_PIN = "change-me"
$env:RDP_DOMAIN = "FU"
windows-remote-desktop-dashboard

Open http://127.0.0.1:8000.

Development

pip install -r requirements.txt
uvicorn app.main:app --reload --host 127.0.0.1 --port 8000

Features

  • Screenshot-style dark dashboard with machine list, details panel, admin modal, and audit log.
  • SQLite persistence under %LOCALAPPDATA%\WindowsRemoteDesktopDashboard\data by default on Windows.
  • One active reservation per machine.
  • Auto-release of expired reservations on refresh.
  • Direct local mstsc.exe launch plus downloadable .rdp fallback.
  • Open RDP automatically reserves the machine for the current dashboard user.
  • Optional Windows Firewall enforcement can restrict direct RDP to the reserver's client IP.
  • Automatic remote session refresh with quser /server:<host> when Windows permissions allow it.
  • Admin PIN gate for adding machines.
  • Admin unlock once per browser session, with single and bulk delete/release/session refresh controls.

The default admin PIN is admin if ADMIN_PIN is not set.

Set RDD_DATA_DIR to choose where the SQLite database is stored. Set RDD_HOST=0.0.0.0 if one shared dashboard machine should serve multiple laptops on the network. The RDP Login button launches C:\Windows\System32\mstsc.exe on the Windows computer running this app.

Dashboard reservations prevent other dashboard users from opening the same machine. To also block direct native RDP outside this app, enable Windows Firewall enforcement:

$env:RDD_HOST = "0.0.0.0"
$env:RDD_ENFORCE_WINDOWS_FIREWALL = "1"
windows-remote-desktop-dashboard

Requirements for firewall enforcement:

  • Run the dashboard on Windows with admin rights that can manage the target PCs.
  • Enable PowerShell remoting/WinRM to the target machine hostnames.
  • Users must open the dashboard using the server LAN hostname/IP, not localhost, so the app can see their real client IP.

When a machine is reserved, the target PC's Remote Desktop inbound firewall rules are restricted to that reserver IP. Revoke/release/delete restores the Remote Desktop firewall rules to Any.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

windows_remote_desktop_dashboard-0.1.6.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file windows_remote_desktop_dashboard-0.1.6.tar.gz.

File metadata

File hashes

Hashes for windows_remote_desktop_dashboard-0.1.6.tar.gz
Algorithm Hash digest
SHA256 140c38702ddba9d567807412715f5550b8a2e3a7cefcd01f2d82d10d5c1359b4
MD5 fc41eda95db2a4a2ff9399283c12b8d7
BLAKE2b-256 1aeb65c50f3b1d58873bfee7074a05cb4a9e76e99944a038fe2c06674520ca07

See more details on using hashes here.

File details

Details for the file windows_remote_desktop_dashboard-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for windows_remote_desktop_dashboard-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 25c710f1ff474ee0f606304bd7a7911ae4924f85094a58d197f4b973b21b45c1
MD5 ba7f3d8488d61f7271df646d65f3bad0
BLAKE2b-256 807c2308b4ec75735151388108769841d10d7eb63f370d09a0f03ca89c81b4f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page