RDP (wfreerdp) Connection Tool

Discussion in 'Scripting' started by mephistooo2, Mar 12, 2026.

  1. mephistooo2

    mephistooo2 MDL Member

    Feb 5, 2008
    159
    338
    10
    [​IMG]

    Overview
    wfreerdp.exe is a program belonging to the open-source Freerdp.exe project. It is a command-line client used to establish Remote Desktop connections in Windows. This project was created to simplify the use of the wfreerdp.exe file.

    ️ RDP (wfreerdp) Connection Tool
    A portable Windows batch tool for fast and secure RDP connections from the command line.

    ✨ Features
    • Save connections — stores IP, username, and password with encryption
    • ✏️ Edit connections — update individual fields on saved connections
    • ️ Delete connections — remove any saved connection with a single keystroke
    • XOR encryption — username and password are stored encrypted in the INI file
    • Unicode support — supports all character sets including Turkish, Arabic, Chinese, etc.
    • Portable — no installation required, no dependencies (only wfreerdp.exe)
    • ⚡ WinPE compatible — runs under the SYSTEM account and in deployment environments
    Requirements
    • Windows 7 or later (or WinPE)
    • wfreerdp.exe — must be placed in the same folder as the script
    Usage
    Download wfreerdp.exe and place it in the same folder as rdp.cmd, then run: (wfreerdp.exe is included in the package. Current version: 3.23.1)

    rdp.cmd

    Main Menu
    ===========================================================
    REMOTE DESKTOP CONNECTION TOOL
    ===========================================================

    Saved Connections:
    -----------------------------------------------------------
    [1] Production Server (192.168.1.10)
    [2] Test Environment (10.0.0.5)

    [0] New Connection
    [E] Edit a connection
    [D] Delete a connection

    Saving a Connection
    When adding a new connection:
    • IP address — in 192.168.1.10 or 192.168.1.10:3389 format
    • Connection Name — optional (IP is used if left blank)
    • Username — stored encrypted
    • Password — stored encrypted, never shown on screen
    Editing a Connection [E]
    After selecting a connection, each field can be edited individually:

    [1] Connection Name (current: Production Server)
    [2] IP Address (current: 192.168.1.10)
    [3] Username (encrypted)
    [4] Password (encrypted)
    Save and return

    Security
    The username and password are encrypted using XOR + hex encoding before being written to rdp_connections.ini. This does not provide absolute protection against reverse engineering; the purpose is to prevent credentials from appearing as plain text in the file.

    Sample INI file:

    DNS=192.168.1.10=1A2B3C4D=5E6F7A8B...

    File Structure
    wfreerdp/
    ├── rdp.cmd ← Main script
    ├── wfreerdp.exe ← FreeRDP binary (Included in the package; new versions must be downloaded separately.)
    └── rdp_connections.ini ← Saved connections (It is generated automatically according to user preference.)

    ⚙️ Customizing wfreerdp Parameters
    The script contains three connection lines. You can add your own parameters to any of them:

    Line Description
    98 Connecting with a saved connection
    254 Connecting while saving a new connection
    261 Connecting directly without saving
    For example, to enable fullscreen, set resolution, or use multiple monitors:

    :: Fullscreen
    start "" wfreerdp.exe /v:!ip! /u:!target_user! /p:"!target_pass!" /f /cert:ignore

    :: Custom resolution
    start "" wfreerdp.exe /v:!ip! /u:!target_user! /p:"!target_pass!" /w:1920 /h:1080 /cert:ignore

    :: Multiple monitors
    start "" wfreerdp.exe /v:!ip! /u:!target_user! /p:"!target_pass!" /multimon /cert:ignore


    The Difference Between wfreerdp and mstsc

    Feature mstsc wfreerdp
    Built into Windows ✅ ❌
    Command-line parameters Limited Extensive
    WinPE / SYSTEM account ❌ ✅
    Portable (single .exe) ❌ ✅
    Open source ❌ ✅

    mstsc depends on Windows session infrastructure and system services like LSASS. wfreerdp implements the RDP protocol independently, making it work seamlessly in WinPE, under the SYSTEM account, and in deployment environments where no user session exists.

    https://github.com/abdullah-erturk/RDP-wfreerdp-Connection-Tool