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:
- Creating an enabled user uses a seat at once — whether or not that user has ever signed in. A user created disabled holds no seat until re-enabled, and re-enabling is refused while the limit is reached (same seat-limit error).
- A disconnected session stays running and resumable (reconnecting brings back the same session). It does not hold or free a seat: the seat belongs to the account, not the session.
- Signing out (Kick) ends the session. It does not free a seat.
- Disabling or deleting an account ends its session and frees the seat for a new account.
- The console admin account is separate and does not count as a seat: 5 seats are 5 remote user accounts, plus the admin.
⚠ 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
- Disconnect — ends the connection but leaves the user signed in. Apps keep running; the user reconnects to the same session.
- Sign out (Kick) — ends the session and closes running applications. Unsaved work may be lost. The console asks for confirmation and advises disconnecting instead if the aim is only to free the screen. Signing out frees the session and its RAM. It does not free a seat — only disabling or deleting the account does (see section 0).
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:
- View only —
mstsc /shadow:<id> /v:<host>(watch, cannot control). - Take control —
mstsc /shadow:<id> /v:<host> /control. - A Download .rdp file button provides the same shadow session as a file you can double-click.
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.
- Identity is a management record, not a security control. The client name is what the RDP client reports (it can be renamed) and the IP can change with DHCP. The registry tells you which physical station is which; it does not gate logons. Only accounts created through the console can sign in (see section 0).
- Roles are labels you define (for example Cashier, Ticketing, Booth), each with a peripheral checklist (for example a cashier expects a printer, a cash drawer and a barcode scanner). A client is flagged Needs attention when its role expects a peripheral it does not have, or when a peripheral's driver is marked missing — fix that before the seat goes live. A role cannot be deleted while a client uses it.
- Peripherals are any USB hardware attached to the client, in one of two modes. Dedicated — used by the seat where the device is attached (RemoteFX USB redirection; the vendor driver must be installed on the host). Shared — shared with all seats: for a printer, share it from the host's print server and record the share name; for non-printer devices the sharing mechanism is not defined yet and the console says so. A normal printer uses Easy Print (the Windows default) and usually needs no host-side driver.
- Drivers are installed on the host by hand, then marked
installedhere with the driver name and version. The console never installs a driver itself. - Audio: the Device redirection panel on this page shows the host-wide switches (USB allowed, audio playback allowed, microphone off). A client's own audio toggle lives on its detail page and takes effect at the seat user's next sign-in. Honest limit: the per-user audio value is unverified on Windows 10 Pro 22H2 (live check Q9) — until the live test runs, the host-wide switch is the proven control.
- Sessions link back: a session row's client name opens its client record, and a session's details page has an Open client record link. Deleting a client record removes only the record — a later connection from that client records it again as unregistered.
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
- Edit — change display name, password, or any capability. Changes apply at the user's next sign-in.
- Allow remote sign-in — unticking it prevents new connections for that user. The account stays, but any session it has ends and its seat is freed.
- Disable — the account cannot sign in. Disabling frees the seat. Re-enabling an account while the limit is reached is refused with the seat-limit error.
- Delete — removes the account and frees the seat. You are offered the option to also delete the user's workspace files; that cannot be undone.
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:
- Live CPU usage, physical memory, and active sessions.
- System information (host details) and Connection & service (the host address, with a Copy address button for giving to users).
- Resource usage charts for the last 30 minutes (CPU and memory).
- A note that appears throughout the console: session capacity depends on workload and host resources.
Desktop background (wallpaper)
The wallpaper set here is shown on every seat user's desktop, and users cannot change it.
- Upload a JPG, PNG, or BMP (up to 5 MB). Uploaded wallpapers are listed and can be activated.
- Rotation: Off, Daily, or Weekly.
- It applies at the user's next sign-in. A user who is already signed in must sign fully out and back in — disconnecting and reconnecting is not enough. (This is the most common wallpaper support call; see Troubleshooting.)
4. Licence
Licence manages activation on this host. It shows:
- Licensed to, Licence ID, Host, Activation date.
- Perpetual licence: Active — the licence itself never expires.
- Upgrades and support: Included until [date] — or, when lapsed, "Upgrades and support expired on [date] — licence still active". These are two separate lines on purpose. A lapsed support period never disables anything and never makes the licence look expired. Until the backend returns a maintenance date with activation, the console shows "No expiry date recorded — the licence itself is perpetual." Absence of a date is "not recorded", never "expired".
- Seat entitlement — how many seats the licence grants.
- Licence key (masked, with a Copy button).
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.
- 1 seat — $29.99 one-time.
- 5-seat bundle — $99.99 one-time.
- Each additional seat beyond five — $10 one-time.
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):
- Allowed apps — an allowlist: only the listed apps may run for that user.
- Denied apps — a deny-list: the listed apps may not run for that user, even though everyone else may. Denied apps are also hidden from that user's Start Menu.
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.
- New ticket — subject and message. Tickets are authenticated with this host's licence key and hardware ID. With no licence key stored, tickets cannot be sent yet.
- My tickets — list with status and last-updated time. Open one to see the thread and replies. Replies are checked every 30 seconds while the Support page is open.
- Offline: if the host has no internet, the page shows the banner "Cannot reach the server — check the host's internet connection." Sending fails with the same clear message — not a silent failure and not a fake success. Nothing is queued.
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:
- Quick Start Guide (PDF) — the short path, on its own.
- Full Manuals (PDF) — all six manuals in one document.
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.