MultiDeskKore ← Back to console

MultiDeskKore — Administrator Guide

Version 1.0 · 25 October 2026 · Applies to MultiDeskKore Solo — the Single Host edition (MultiDeskKore V1) on Windows 10 Pro 22H2

Editions: these manuals cover MultiDeskKore Solo — the Single Host edition (MultiDeskKore V1/RC1, available now). MultiDeskKore Fleet (Multi-Host, V2) and MultiDeskKore Station (Same Machine, local multiseat) are in development and are not covered here.

This guide walks through the local console section by section. The console lives at http://127.0.0.1:8443/ on the host and is opened from the MultiDeskKore Console Desktop or Start Menu shortcut. Sign in with username admin and the password chosen at install. The console works with no internet connection.

0. Seats — the rule, exactly as implemented

One seat is one user account on one licensed host.

A seat is held by an enabled account in the console user store:

⚠ Sign out to end a session — but it does not free a seat.

Closing the Remote Desktop window only disconnects — the session keeps running on the host, with its apps open, until you sign out or the administrator signs it out (Kick). Only Sign out ends the session. Neither disconnecting nor signing out frees a seat: a seat is freed only by disabling or deleting the account. If you need a seat for a new user, disable or delete an account you no longer need — do not ask users to sign out for that.

Purchased seats (what the licence key grants), seat accounts used (enabled accounts in the user store — the Licence page shows them as "N of M seat accounts used"), active sessions (live RDP sessions), and disconnected sessions (RDP window closed without signing out) are four different counts. Do not confuse them: a host can show fewer live sessions than seat accounts used, and that is normal — an enabled account holds its seat even with no session.

Creating a user past the limit fails: the service refuses the creation with LICENCE_SEAT_LIMIT and the console shows the service's own error text. During the trial at most 2 remote seat accounts can be created, plus the host admin.

Note: the seat model was decided by the owner on 2026-10-26. This guide states the decided rule: one seat is one user account.

1. Sessions

Sessions is the console's home page. It lists every live session on the host, with user, state, client device, client address, logon time (UTC), and RAM used. It refreshes automatically every 5 seconds.

States

State Meaning
Active The user is signed in and connected.
Disconnected The RDP window was closed without signing out. The user's apps are still running and their RAM is still held. Reconnecting brings back the same session.

Sessions 0 (Windows services) and 65536 (the RDP listener) are not real user sessions and are hidden from the list.

Actions — select a row for details

When the account limit is reached

There is no disconnected-seat alert and no session is ever blocked by a disconnected session: a disconnected session keeps running and resumable, and the seat belongs to the account, not the session. When the enabled-account count reaches the licensed count, the console refuses a new user with the service's own error — the licence seat limit is reached. To make room for a new user, disable or delete an account you no longer need (either frees its seat at once), or activate a licence key with more seats. Creating a user past the limit is the only place the seat limit bites: existing accounts and sessions are never touched by it.

Reconnect behaviour

Reconnecting always brings back the same session. This was verified in the pilot VM: the same session was reinstated on re-login.

Shadowing — consent-based screen assistance

On a session's details page, Shadow this session gives the exact commands to watch or control that user's screen using native RDP shadowing:

A browser cannot launch Remote Desktop directly, so run the command in a Command Prompt on the host (or on any Windows PC that can reach it), or double-click the downloaded .rdp file.

Consent: the installed policy is full control with user permission — the user is asked for permission before you take over. View-only first, then with control. A no-permission mode exists but is not the default and is an owner decision; the installer never sets it on its own.

Honest limit: shadowing against the installed session layer has not yet been proven by a live test. The commands and the policy are in place and verified by check 13; a live shadow with the permission prompt is still to be run.

1A. Client machines

Client machines lists the physical stations that connect to this host — PCs, thin clients and laptops, any RDP client. A client is recorded automatically the first time it connects, as unregistered (no seat, no role). Open it to claim it: bind it to a seat user, assign it a role, and record its peripherals.

2. Users

Users lists every seat account: username, role, account status, session state, last sign-in (UTC), and restrictions. The header shows total users, enabled users, and administrators.

Creating a user

Users → + Add user. Enter a username (for example Seat1), an optional display name, and a password (minimum 8 characters — the password the user types when connecting). Role is fixed: seat users are always Standard user. The console admin account is separate.

Create users only here — never directly in Windows. An account created directly in Windows is not managed by MultiDeskKore: no seat accounting, no limits, no folder isolation — and only accounts created through the console can sign in, so an account created directly in Windows is stopped at sign-in. The console admin account and BUILTIN\Administrators are exempt. (Accounts created directly in Windows during the early pilot — for example the Stage-A Seat1/Seat2 accounts — are stopped under this rule; create console-managed users instead.) Honest note: the session is ended after the logon/connect event, so an unmanaged user may briefly see the desktop before being logged off; the refusal is recorded in the audit log (action UnmanagedAccountLogoff).

Capabilities — per user

Tick a capability to set it; leave it unticked to leave it off. Values apply at the user's next sign-in.

Capability What it does
RAM limit Pre-filled 2048 MB. A per-session memory cap for that user.
Disk quota Pre-filled 10240 MB. A storage cap for that user.
Allowed apps An allowlist (comma-separated exe names, e.g. chrome.exe, winword.exe): only these apps may run.
Denied apps A deny-list (comma-separated exe names, e.g. notepad.exe): this user may not run these apps, even though everyone else may. Denied apps are also hidden from the user's Start Menu.
Shared folders Comma-separated paths assigned to this user only.
Transfer folder On by default. The user's drop-box for sharing files (section 3).
Clipboard redirection On by default. Allows copy/paste between the session and the client.
Drive redirection On by default. Allows the client's drives to appear in the session.

What is proven and what is not: the settings are stored and applied by the service, but live enforcement of the RAM limit, the disk quota, AppLocker app blocking, and the clipboard/drive toggles has not yet been proven by a recorded test on Windows 10 Pro 22H2. Treat a limit as configured, not as proven, until the live test for it has run. (See the Requirements Matrix.)

Editing, disabling, deleting

The Transfer folder

Each user with Transfer enabled gets a personal drop-box under the shared root (<SharedRoot>\Transfer\<username>\). It is the only way users share files: a user drops a file in their Transfer folder and the administrator (or another assigned user) collects it from there. Transfer folders are protected so each user sees only their own. Turning a user's Transfer access off removes their drop-box.

What users can and cannot reach

A seat user can reach only their own workspace folder, plus shared folders assigned to them and their Transfer folder. They cannot open the host's full C: or D: drives. Seat and shared-folder permissions are in place and the service log shows no permission failures after install; the negative test (one seat user attempting another's folder and being refused) is still to run.

3. Host

Host overview shows the engine behind every workspace:

Desktop background (wallpaper)

The wallpaper set here is shown on every seat user's desktop, and users cannot change it.

4. Licence

Licence manages activation on this host. It shows:

Trial

There is no no-key trial. With no key stored, the Licence page shows "No licence key stored. Enter a trial licence key or a paid licence key." and a Start your free 3-day trial panel with a Get trial key form. Enter your name and the email address you registered and verified with on the MultiDeskKore website; the console asks the TrimKore backend for a trial key for this host and activates it there. The trial key is generated from the console's Licence page and activated there. The installer is not publicly downloadable. The download link is emailed to the registered, verified email address only.

Once activated, the Licence page shows "Trial active, N day(s) remaining — 1 host + 2 remote". The trial lasts exactly 3 days from activation and is fully functional within the host's resources. During the trial at most 2 remote seat accounts can be created, plus the host admin. At expiry a key is required and new users are refused; live sessions are not signed out or disabled. Reinstalling does not restart the trial — the trial activation record survives uninstall. The trial is bound to this host and cannot be refreshed by reinstalling or re-registering. If the host clock is set back, the trial is suspended ("Trial suspended: system clock appears to have been set back… Correct the host clock and restart the service"). A copy of the trial key is emailed once, after activation, for safekeeping only — it is not the delivery mechanism. If a trial key was already issued for your email, or a trial was already activated on this PC, the backend refuses with "already issued" and no second trial is ever issued. A trial key needs the backend — it cannot be issued offline.

Activation and grace

Update activation — paste a licence key (exactly as issued) and activate it. A new key starts in a 14-day activation grace state while the service activates it online; the licence is validated locally by its signature, so the host keeps working. The page shows the grace state and days remaining. After grace expires without activation, new users are refused. A key for a different host (hardware mismatch) is invalid immediately — not a grace case.

Pricing

One seat is one user account on one licensed host.

Buy once. Renew support and upgrades only if you need them.

First 12 months of upgrades and standard support are included with every licence. Optional annual renewal: 10% of the licence value, rounded once to cents — the console computes and shows the renewal price for the current seat count.

Buy seats / Get more seats

Buy seats opens the public buy page (multideskkore.trimkore.com/buy) with a short-lived secure token that identifies this host, plus the licence when one exists, so extra seats are offered at the upgrade price. No hardware ID, host name or licence ID appears in the page address. The buyer gives only an email address — no account, no login. Payment is manual: the button only opens the page. If the hardware ID is unavailable the button is disabled with an explanation instead of guessing.

To add seats, get a new licence key from TrimKore and activate it here — existing users, sessions, and settings are kept.

Move this licence to a new host

If the host is being replaced, Request host transfer files a transfer request with TrimKore (Administrator only to submit). Approving a transfer clears the old hardware binding so the key can activate on the new host. The request needs a stored licence key and an internet connection; offline, it fails with a plain message and nothing is queued. The request is filed through POST /api/host/transfer-request on the TrimKore server (licence key + hardware ID headers); you can check its status in the Licence page, and TrimKore approves it in the owner portal — approval clears the old hardware binding so the key can activate on the new host.

Product licence note

This screen manages the MultiDeskKore licence. Windows and remote-access licensing are managed separately.

5. App controls

App control lives on the Users page, per user (see section 2):

Apps are installed on the host once; "deploying" an app to a user means controlling who can see and run it. The administrator account is never locked out: the allow-all rule for administrators is always first. App changes apply at the user's next sign-in.

Honest limit: AppLocker enforcement on Windows 10 Pro 22H2 has not yet been proven live. If a denied app still runs for a user, report it — the allowlist remains the working control in that case.

6. Admin accounts (roles)

Admin accounts manages console administrators and your own credentials. Roles:

Role Can do
Administrator Everything.
Operator Users, sessions, and client machines (claim / edit clients). Roles and the device-redirection switches are Administrator-only.
Viewer Read-only.

Roles are enforced by the service on every operation; the console only hides actions your role cannot use. The last Administrator cannot be deleted or disabled, and you cannot delete your own account.

My credentials — change your own console username and password (current password required). This is the console admin account, not the Windows Administrator account.

Honest limit: role enforcement is implemented server-side, but no recorded test has yet shown a role denial (for example, a Viewer being refused a user-creation attempt).

7. Support tickets

Support is where you raise tickets with TrimKore from the console. Tickets are answered by TrimKore in the owner portal, and replies appear in the thread in the console.

Honest limit: the live round-trip (send a ticket, reply in the portal, reply appears in the console) has never run — the pilot VM has no internet. The offline path is the behaviour you will see in the VM.

8. Audit Log

Audit Log records activity on the host: user, session, licence, admin, wallpaper, ticket, and transfer operations, with time (UTC), event, actor, target, result, and details. It has search, an event type filter, and Export CSV.

Honest limit: the log is implemented and the console shows it, but no recorded test has yet confirmed an entry appears for each operation, or that the CSV export matches the on-screen log.

9. Help

Help in the console navigation opens this documentation — the six manuals — served from the console itself, so it works offline. The same pages are downloadable as PDFs from the Help section:

The Markdown files in Docs/ are the canonical source. The website Documentation page renders the same files — nothing in the console Help contradicts them.


MultiDeskKore V1 · by TrimKore · trimkore.com Tested configuration: Windows 10 Pro 22H2. No customer login exists; the customer uses only the local console.


MultiDeskKore V1 · by TrimKore · trimkore.com · Tested configuration: Windows 10 Pro 22H2. The Markdown files in Docs/ are the canonical source for these pages.