: Function WP_Styles::add was called incorrectly. The style with the handle "hello-elementor-child-style" was enqueued with dependencies that are not registered: hello-elementor-theme-style. Please see Debugging in WordPress for more information. (This message was added in version 6.9.1.) in /home/csrkub/domains/cube-vps.com/public_html/wp-includes/functions.php on line 6131
Notice: Function WP_Scripts::add was called incorrectly. The script with the handle "gpress-custom-js" was enqueued with dependencies that are not registered: gpress-siema. Please see Debugging in WordPress for more information. (This message was added in version 6.9.1.) in /home/csrkub/domains/cube-vps.com/public_html/wp-includes/functions.php on line 6131
*Cube-Host– full cloud services!!
Remote Desktop Services is a set of Windows Server roles for publishing full desktops and applications (RemoteApp) on server hosts (RD Session Host), with session balancing and reconnection via RD Connection Broker, the RD Web Access web portal, and, if necessary, an external RD Gateway and a separate RD Licensing service (CAL for users/devices).
Minimum setup (example):
Preliminary in AD:
Open Server Manager, add all servers to the pool (All Servers → Add Servers):
Start the wizard: Add Roles and Features → Remote Desktop Services installation → Standard deployment → Session-based deployment.
Assign roles by server (example below: RDCB+RDWA on the manager, RDSH on all nodes):
Confirm and wait for deployment:
After installation, open Server Manager → Remote Desktop Services → Overview:
In Tasks → Edit Deployment Properties, specify:
For an isolated scenario (without a broker/web, on a single host), see the Standalone RDSH option (working in a workgroup).
Go to Remote Desktop Services → Collections → Tasks → Create Session Collection:
Add RD Session Host hosts to the collection:
Specify user groups (delete Domain Users, add your own, for example, RDS-Users) and, if necessary, enable User Profile Disks. Next, click Create.
To edit the settings, open the collection properties (Tasks → Edit Properties):
RemoteApp (applications) are also published here, and session limits (timeouts for active/disconnected sessions) are set. There is a good explanation of timeouts with pictures.
To remove the dangerous connection warning and enable SSO, assign the correct SSL certificates to the roles:
Via PowerShell (example for a single PFX and broker $RDSCB):
$RDSCB = "msk-rdsman.contoso.local"
$Path = "C:certsrds-cert.pfx"
$Pwd = ConvertTo-SecureString "StrongPfxPassword!" -AsPlainText -Force
Set-RDCertificate -Role RDGateway -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDWebAccess -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDPublishing -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Set-RDCertificate -Role RDRedirector -ImportPath $Path -Password $Pwd -ConnectionBroker $RDSCB -Force
Get-RDCertificate
External access without VPN is safer to perform through RD Gateway (deployed separately; detailed instructions are available).
Install the Remote Desktop Licensing role (can be done on the broker), activate the license server, and specify the address of this server and the license mode (Per User/Per Device) in the deployment settings. The parameters are set in Edit Deployment Properties → RD Licensing.
It is useful to remember the limitations: a regular Windows Server without RDS provides only 2 administrative RDP connections; full user sessions require RDS CAL.
Publish applications in the collection properties (RemoteApp Programs → Publish) or via PowerShell:
New-RDRemoteApp -Alias "Chrome" -DisplayName "Google Chrome" `
-FilePath "C:Program FilesGoogleChromeApplicationchrome.exe" `
-ShowInWebAccess 1 -CollectionName "General" -ConnectionBroker $RDSCB
Users can log in via:
Below is a condensed example: creating a collection, assigning groups, publishing RemoteApp. (Deploy roles via the GUI, as above, or automate according to your standard.)
$RDSCB = "msk-rdsman.contoso.local"
$RDSH1 = "msk-rds1.contoso.local"
$RDSH2 = "msk-rds2.contoso.local"
# Collection
New-RDSessionCollection `
-CollectionName "General" `
-SessionHost $RDSH1,$RDSH2 `
-ConnectionBroker $RDSCB `
-CollectionDescription "General users"
# Access
$Groups = @("CONTOSORDS-Users","CONTOSOServiceDesk")
Set-RDSessionCollectionConfiguration -CollectionName "General" -UserGroup $Groups
# App publication
New-RDRemoteApp -Alias "WordPad" -DisplayName "WordPad" `
-FilePath "C:Program FilesWindows NTAccessorieswordpad.exe" `
-ShowInWebAccess 1 -CollectionName "General" -ConnectionBroker $RDSCB
Open ports on Windows Firewall and the external ACL of the Windows VPS provider:
Quick checks from the client:
Test-NetConnection rds.contoso.ru -Port 443 # RDWeb/RDGW
Test-NetConnection rds.contoso.ru -Port 3389 # RDP (if you publish directly)
There is a separate discussion about “freezing”/black screen during UDP transport RDP.
Secure external access is required. Deploy RD Gateway (HTTPS, access policies, certificate).