Eric Monjoin
Staff Consulting Architect but also pilot, spending time in front of my computer or flying in the air...

Category: Horizon

Omnissa Horizon 2412

Omnissa Horizon 2412 is finally GA 🙂

Most of all rebranding is done, the only thing who will be changed in a future release is the ADAM domains : vdi.vmware.int and vdiglobal.vmware.int

What’s New

Horizon Server

  • Rebranding to Omnissa.
  • Administrators can now configure a custom port for the admin console, moving away from the default port 443.
  • Administrators can use Horizon Console or Horizon REST API to move published applications between farms.
  • Configure reconnection behavior for published applications launched in nested mode.
  • Horizon Connection Server enhances pool management performance by ensuring tasks no longer get stuck and allowing VDIs in maintenance status to resync properly.
  • Introduced a new LDAP setting (pae-ic-SysprepDomainJoinEnabled) for customers having multi-site and multi-domain environments s to leverage Microsoft Sysprep guest customization to perform domain join to avoid instant clone customization errors.
  • Horizon 2412 now includes the “Required Encryption Assertion” option for SAML Authenticators. The UI has been updated to feature a checkbox in the Add/Edit SAML Authenticator flows.
  • vCloud Director Support – Limited Availability.
  • Horizon 8 on Amazon WorkSpaces Core now supports FIPS (Federal Information Processing Standard) 140-2 compliant algorithms.
  • Monitor Connection Server health & Utilization for cloud-connected POD(s)/Edge(s) in WS1-intelligence Reports and Dashboards.
  • Use the Amazon WorkSpaces Windows Server 2019 or 2022 Public BYOP Bundle with Horizon 8.
  • Administrators can now specify the idle timeout to automatically suspend a machine when configuring a dedicated Power Optimized pool.
  • A Horizon 8 pod residing outside of Amazon can now be configured to use Amazon WorkSpaces Core for desktop compute.
  • Horizon 8 on WorkSpaces Core administrators are now able to update the Bundle in use by a Power Optimized pool through the Horizon console.
  • Following the divestiture of Omnissa from Broadcom, this release introduces a new license module for term and perpetual licenses. To activate Horizon 8 2412 with a term or perpetual license, customers must install the new Omnissa Horizon license key, which can be obtained from the Customer Connect portal.
  • Horizon will now persist the Frame Rate Limiter parameter (pciPassthru0.cfg.frl_config) from snapshot to the instant clones. Administrators can increase this value for graphics intensive applications.
  • Horizon 2412 now enhances the Horizon Lifecycle Management APIs by implementing additional pre-checks for installation and upgrade of Horizon Connection Servers.
  • Support for Dual IDP Metadata in Horizon Connection Server.
  • Beginning with this release, the 15-day grace period for subscription licenses has been discontinued. You must reactivate your subscription license every 90 days to use the full capabilities of Horizon 8.
  • Horizon 8 on WorkSpaces Core now supports Manual Farms, Multi-session Hosts, and Published Desktops and Applications with Windows Server 2019 and 2022.
  • Administrators can now monitor the local and global schema master (FSMO) availability for Connection Servers before attempting upgrades, and ensure that upgrade tasks no longer get stuck or failed due to schema master unavailability.
  • Horizon Connection Server now supports dual IDP metadata files, enabling seamless updates and uninterrupted authentication.

Horizon Agent

  • Rebranding to Omnissa.
  • Configure the reconnection behavior for published applications launched in nested mode. For more information, see Omnissa Knowledge Base (KB) article 80509.
  •  Administrators can use Horizon Console or Horizon REST API to move published applications between farms.
  • Administrators now have an option to terminate active sessions while performing restart and shutdown operations on virtual machines.
  • Horizon Agent is supported on Windows 11 2024 Update (also known as Windows 11, version 24H2).
  • Starting with this release, user domain information is now collected and sent to Omnissa Intelligence when you have enabled the Horizon Agent Monitoring Service (hzMonService) to monitor Horizon Agent on Windows desktops and your deployment is integrated with Horizon Cloud Service – next-gen.
  • Starting with this release, additional metrics for Horizon Blast protocol are sent to Omnissa Intelligence when you have enabled the Horizon Agent Monitoring Service (hzMonService) to monitor Horizon Agent on Windows desktops and your deployment is integrated with Horizon Cloud Service – next-gen
  • This release adds support for SUSE 15 SP6. Debian 11.11, and Debian 12.7.
  • This release drops support for SUSE 15 SP4 and Debian 10.13.
  • With improved startup performance, Linux desktops take less time to start up and become available.
  • Screen Sharing Support for Chrome and Edge C in Browser Content Redirection.
  • Browser Content Redirection From Linux Desktops.
  • Hide the Horizon Chrome Client After Launch.
  • Individual Application Sharing on Linux Endpoints.

Horizon Server, Agent

  • Release Note Link

https://docs.omnissa.com/bundle/horizon8-rnV2412/page/Horizon8-ReleaseNotes.html

  • Documentation Link

https://docs.omnissa.com/category/Horizon_8

  • Download Link

https://customerconnect.omnissa.com/downloads/info/slug/desktop_end_user_computing/omnissa_horizon/2412

App Volumes Apps On Demand – Certificate Issue

Horizon Suite 2212 is GA since last week and of course I already upgraded all my lab with this new release.

I was particularly interested by the Application on Demand so directly manage App Volumes application on RDS with all entitlement done within the Horizon Console.

The principle consist of adding App Volumes server in Horizon and then assign it to an “Automated” farm.

Now when you add you App Volumes Server into Horizon, you’ll certainly need to import App Volumes certificates into the “Trusted Root Certification Authorities” folder and then restart Horizon Services on all you Connection Servers.

Now even if doing that, you can encounter the following issue, with Enterprise signed certificate :

I had this issue on my lab, so to get it solved, I had to generate a new certificate for my App Volumes server using a new Template.

This is how to do it ….

Continue reading…

Horizon Cloud Connector 2.3.0 – Connection Server Monitoring Service – Failed

Some time it happens that Connection Server Monitoring Service appears to be failed (but it worked before) and we see a lot of restart attempts.

There’s many reason for this to happen (like proxy error etc..) but I personally first try this workaround and it worked all the times :

1 – SSH to Horizon Cloud Connector using ccadmin and then do a su – to login as root
2 – Go to /opt/container-data/data/csms/store/keep
3 – Do a copy of csms-config.json to csms-config.json.bak
4 – Edit csms-config.json

# su -
# cd /opt/container-data/data/csms/store/keep
# cp csms-config.json csms-config.json.bak
# vi csms-config.json

5 – change cmsTenantConfig to : null and set lifeCycle to : “PAIR”

{
  "baseConfig" : {
    "version" : "1",
    "csmsIdentity" : "038eeb6a-159c-4ee5-89d0-xxxxxxxxxxxx",
    "salt" : "df3e8624-2478-4d6f-bd94-xxxxxxxxxxxxx",
    "keyLength" : 128
  },
  "cmsTenantConfig" : null,
  "applianceConfig" : {
    "podType" : "VIEW",
    "podCapacityType" : "GENERAL",
    "podId" : "4cfd1101-1f73-4691-aa39-xxxxxxxxxxxx",
    "podName" : "Cluster-HZN-01",
    "podLocationJson" : "{\"p\":[43.29695,5.38107],\"id\":\"b32f5cf4-7413-4877-92c4-xxxxxxxxxxxxx\",\"n\":\"Marseille, France\"}"
  },
  "lifeCycleConfig" : {
    "lifeCycle" : "PAIR",
    "lastUpdateTimestamp" : 1668683604710
  }
}

6 – restart csms :


# kubectl get pod -n cms-system
NAME                   READY   STATUS    RESTARTS   AGE
csms-79df9554f-jcprn   1/1     Running   0          27m
# kubectl delete pods -n cms-system csms-79df9554f-jcprn

After a few minutes, it should be green again… if not open a ticket 🙂

Change the Expiration Period for Service Provider Metadata on Connection Server

Well, this procedure is in the documentation, but I put it here so I can access it more quickly.

You need to do this when you have to use SmartCard or Certificate through UAG as an example.

Procedure

  1. Start the ADSI Edit utility on your Connection Server host.
  2. In the console tree, select Connect to.
  3. In the Select or type a Distinguished Name or Naming Context text box, type the distinguished name DC=vdi, DC=vmware, DC=int.
  4. In the Computer pane, select or type localhost:389 or the fully qualified domain name (FQDN) of the Connection Server host followed by port 389.For example: localhost:389 or mycomputer.example.com:389
  5. Expand the ADSI Edit tree, expand OU=Properties, select OU=Global, and double-click CN=Common in the right pane.
  6. In the Properties dialog box, edit the pae-NameValuePair attribute to add the following values:.
  • cs-samlencryptionkeyvaliditydays=number-of-days
  • cs-samlsigningkeyvaliditydays=number-of-days

In this example, number-of-days is the number of days that can elapse before a remote Connection Server stops accepting SAML assertions. After this period of time, the process of exchanging SAML metadata must be repeated

Awaited feature now available on Horizon 2103… Join VM in untrusted Domains

One year ago I posted a feature request for one of my customer who require to deploy Instant Clone VM on many Active Directory domain without Trust Relationship within each other and with the domain used by the Horizon Connection Server, so what was my surprise when I received the Announcing General Availability of Horizon Enterprise 2103 and saw this feature is now available 🙂

New Release of Horizon Enterprise 2103 and Unified Access Gateway 2103

What’s New?

  • Horizon Server
    • Added support for “Global Access Group”
    • Added support for open source database — “PostgresSQL”
    • Added support for untrusted domain
    • Pegged unabated growth of event database
    • Ability to pre-assign computer names to instant clone desktops
    • Delivered View API parity REST APIs
  • Horizon Agents & Clients
    • Teams offload Mac client
    • USB redirection for HTML Access & Chrome client
    • Pen redirection iOS & Android
    • HEVC 444 Intel GPU Linux client
    • Bandwidth control for integrated printing
    • Serial port improvements, auto mapping, ID passing
    • Agent hot patch via MSP
    • Expose HCA, H.264/H.265 enablement and networking client settings to registry and GPO template
    • Drop 32-bit support Windows agent, Linux agent and client
  • App Volumes
    • Support for Windows 10 Enterprise multi-session on Horizon Cloud on Azure
    • App Volumes Command-Line Capture Program for working with App Volumes and MSIX formatted VMDK and VHD packages
    • Global option to allow the same packages to work across both VDI/RDSH regardless of the packaging OS used
  • Dynamic Environment Manager
    • Replication of the Script folder in SyncTool
    • Simplification of computer environment configuration
    • Support for late arrival of system environment variables in agent configuration for computer environment settings
    • Improvements in default printer logic to roam default printer settings for redirected printers

VMware Horizon on Windows Server Core 2019

I recently have a customer requesting to install VMware Horizon on a Windows 2019 Core server. Most of customers prefer to have the “Desktop Experience” but for security reason some other prefer to limit to shell only interface.

Before installing VMware Horizon, ensure that all updates are applied to Windows 2019 Core (I had some strange behavior before doing that, like impossible to have the Flex Admin console or get “Login failed” on the new HTML 5 consoles)

The first main concern is getting signed certificate ready so Horizon will use it instead of its self signed certificate.

After copying the certificate in a local folder :

1 ) From the Administrator command prompt, type “powershell” to execute PowerShell command

Composer Firewall Port

Ok by default Composer must be in the same domain or at list have Trust Relationship with domains where Linked Clone will be deployed….

But with Composer you can also deploy on other domains, the caveat however is that you can’t browse the OU on Horizon Admin console so you need to Copy/Past or write the full path for the correct OU.

That said, if you look at the firewall port required by Composer, unless 18433 between Horizon Connection Server (brokers) and Composer plus 1433 to join the Ms SQL Server, nothing is really explained and a doubt can exist about which port is required (and also who create account in the domain). So here the answer 🙂 :

First I confirm, Composer server is responsible to reach the AD domains and create Computer accounts. So the required port are :

Source                  Destination        Ports                 Service

Composer           AD Controllers   88/TCP                  Kerberos

Composer           AD Controllers   135/TCP               RPC

Composer           AD Controllers   389/TCP               LDAP

Internal View Composer error – another reason..

Ok, I know that View Composer is depreciated but sometime we don’t have other choice to use it, eg. when you need to deploy VMs is a more cost effective way than Full Clone on domain with no Trust Relationship with the one on which the brokers is joined to.

So I have a customer who have 3 domains with trust relationship:

  • dom-adm for all admin account
  • dom-res for all computers account (composer and brokers are on this domain)
  • dom-usr for all users accounts

We created a service account in dom-adm for Composer and added it to “Administrator” local group in Composer server.

When I tried to add Composer server on Horizon admin console, it failed with the “Internal View Composer error. Contact your administrator.” message and absolutely nothing into the log, both on Composer and Horizon logs (sic.)

I first suspected an issue with the certificate but even after putting a signed certificate the issue was the same.

Finally I created a service account for Composer in the dom-res domain and used it to add Composer on my vCenter… and it worked !!