Friday, January 16, 2026

Installing Remote Desktop Services on Windows Server 2025 (Workgroup; No Domain)


Installing Supported Remote Desktop Services, on a Workgroup Server (No Domain)

Microsoft’s official stance is that Remote Desktop Services (RDS) generally requires an Active Directory Domain. However, for small environments, standalone servers, or specific test cases, you can set up a Workgroup RDS Deployment.

This guide covers how to install the RDS roles manually, configure licensing without a domain controller, and strictly manage local user access.

⚠ Important Warning: This guide focuses on a Workgroup setup. If you require strict Per-User CAL enforcement or advanced features like RD Gateway, a Domain environment is the only fully supported path.


Licensing Requirements & Compliance

Before technical installation, you must ensure you have the correct licenses. RDS CAL/Licenses are not free; the standard "2 concurrent admin sessions" included with Windows Server is for maintenance only, not for users.

1. Required Licenses (You need both):

  • Windows Server CAL: Covers the user/device accessing the server OS.

  • RDS CAL (Remote Desktop Services Client Access License): Specifically covers the remote desktop functionality.

2. Choosing the Right RDS CAL for Workgroups:

  • Per-Device CALs (Recommended): The license is assigned to the specific client computer (e.g., "Office-PC-01").

    • Why: This is the only mode strictly enforced and tracked by the server in a Workgroup.

  • Per-User CALs: The license is assigned to a specific person.

    • Why: Microsoft officially restricts this in Workgroups because the server cannot track users without Active Directory. You can technically force this mode via Group Policy (Step 4), but it operates on an "Honor System." You must legally own the paper licenses, even if the server does not decrement a counter.

🔗 Official Resources:


Step 1: Install RDS Roles Manually

Do NOT use the "Quick Start" deployment. It installs unnecessary components that rely on a domain.

  1. Open Server Manager.

  2. Click Add Roles and Features.

  3. Choose Role-based or feature-based installation.

  4. Select your local server.

  5. On Server Roles, check only these two:

    • Remote Desktop Session Host

    • Remote Desktop Licensing

  6. Do NOT install: RD Gateway, RD Web Access, or RD Connection Broker.

  7. Finish the installation and Reboot the server.


Step 2: Enable RDS Mode

Once the server reboots, ensure it isn't stuck in "Admin" mode.

  1. Open Command Prompt (Admin) and run: change user /query

  2. You want to see: Application EXECUTE mode is enabled.

  3. If it says "Install mode," run: change user /execute


Step 3: Activate the License Server

Even without a domain, you must activate the licensing service to issue CALs.

  1. Open Remote Desktop Licensing Manager.

  2. Right-click your server name and select Activate Server.

  3. Choose Automatic (Internet) connection method.

  4. Install your Licenses:

    • Per-Device CALs: Recommended for Workgroups. These are strictly enforced by the server.

    • Per-User CALs: Works via a registry tweak (see Step 4), but there is no enforcement. It is an "Honor System" based on the paper licenses you own.


Step 4: Configure Licensing via Local GPO

Because there is no Domain Controller, you must hard-code the licensing path in Local Group Policy.

  1. Run gpedit.msc.

  2. Navigate to: Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Licensing

  3. Configure these two settings:

    • Set the Remote Desktop licensing mode: Enabled → Per Device (or Per User).

    • Use the specified Remote Desktop license servers: Enabled → localhost.

  4. Run gpupdate /force.


Step 5: Create and Assign Users

Since there is no Active Directory, you must create users locally and then explicitly grant them RDP access.

1. Create the Users

  • Press Win + R, type lusrmgr.msc, and hit Enter.

  • Right-click UsersNew User.

  • Create your users (e.g., User1, User2) and set their passwords.

2. Add to "Remote Desktop Users" Group

You can do this in lusrmgr.msc, but the modern interface is often easier for verification:

  • Open Windows Settings (Gear icon).

  • Navigate to System > Remote Desktop.

  • Click Remote Desktop users.

  • Click Add and type the names of the users you just created.

  • Note: This automatically adds them to the local "Remote Desktop Users" group.


Step 6: Critical Security Policy (The "LSP" Fix)

In Workgroup environments, simply adding a user to the group sometimes isn't enough. You must verify the Local Security Policy allows that group to log in.

  1. Press Win + R, type secpol.msc, and hit Enter.

  2. Navigate to: Local Policies > User Rights Assignment

  3. Locate the policy: Allow log on through Remote Desktop Services.

  4. Double-click it and ensure the following are listed:

    • Administrators

    • Remote Desktop Users

    • (Optional) Specific users if the group isn't working.

  5. Critical Check: Look for Deny log on through Remote Desktop Services in the same list. Ensure your users are NOT listed there.


Step 7: Set Session Limits

In a Workgroup, idle sessions can hang indefinitely and lock files.

  1. Open gpedit.msc.

  2. Navigate to: Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Session Time Limits

  3. Recommended Settings:

    • Idle Session Limit: 1 Hour.

    • Disconnected Session Limit: 30 Minutes.

    • End session when time limits are reached: Enabled.


Summary Checklist

If a user cannot log in, check these three layers in order:

  1. Does the user exist? (lusrmgr.msc)

  2. Is the user in the group? (System > Remote Desktop)

  3. Is the group allowed to log in? (secpol.msc > User Rights Assignment)



Created & Maintained by Pacific Northwest Computers



📞 Pacific Northwest Computers offers Remote & Onsite Support Across: 

SW Washington including Vancouver WA, Battle Ground WA, Camas WA, Washougal WA, Longview WA, Kelso WA, and Portland OR 

No comments:

Post a Comment