# Omnissa Horizon (on-prem)

The on-prem version of Omnissa Horizon runs in an organization’s own data center or private cloud. This allows enterprises to centralize control of virtual desktops while leveraging their existing infrastructure investments. It is commonly used by organizations that want full control over their VDI environment, data, and compliance, while maintaining flexibility in how virtual desktops are provisioned and managed.

{% hint style="warning" %}
Additional device-level performance data collection is not yet supported for Omnissa Horizon sessions. Therefore, neither Collector nor VDI Client Extension installed on the endpoint will send auxiliary information for Horizon sessions.
{% endhint %}

{% stepper %}
{% step %}
**Set up the connector**

Configure Nexthink to connect to Omnissa Horizon APIs for session metadata ingestion. This step ensures that contextual data is available to enrich insights within the VDI Experience module.

To set up the connector, perform the procedure described in [Connector for Omnissa Horizon](https://docs.nexthink.com/platform/technical-previews/connector-for-omnissa-horizon?visitor.isOmnissaTPUser=true).
{% endstep %}

{% step %}
**Install Collector on VMs**

**Manual or automated deployment**

* **Shared VDI**: Install Collector on Horizon multi-session hosts. Ensure that session hosts are domain-joined and provisioned with appropriate sizing.
* **Personal VDI (persistent)**: Install Collector as a standard agent during provisioning or onboarding of the persistent desktop.

For both scenarios, perform the procedures described in the following documentation:

1. [Installing Collector on Windows](/platform/configuring_nexthink/bringing-data-into-your-nexthink-instance/deploying-nexthink-in-non-vdi-environment/installing-collector/installing-collector-on-windows.md#configuring-collector-for-vms)
2. [Installing Collector on Windows](/platform/configuring_nexthink/bringing-data-into-your-nexthink-instance/deploying-nexthink-in-non-vdi-environment/installing-collector/installing-collector-on-windows.md#installing-collector-on-vms)
3. [Installing Collector on Windows](/platform/configuring_nexthink/bringing-data-into-your-nexthink-instance/deploying-nexthink-in-non-vdi-environment/installing-collector/installing-collector-on-windows.md#installingcollectoronwindows-deployingcollectorusingactivedirectorygrouppolicy-1)

**Golden image-based deployment**

Pooled VDIs (non-persistent) use a golden image for deployment.

Perform the procedures described in the following documentation:

1. [Installing Collector on Windows](/platform/configuring_nexthink/bringing-data-into-your-nexthink-instance/deploying-nexthink-in-non-vdi-environment/installing-collector/installing-collector-on-windows.md#configuring-collector-for-vms)
2. [Installing Collector on Windows](/platform/configuring_nexthink/bringing-data-into-your-nexthink-instance/deploying-nexthink-in-non-vdi-environment/installing-collector/installing-collector-on-windows.md#installing-collector-on-vms)
3. [Installing Collector on Windows](/platform/configuring_nexthink/bringing-data-into-your-nexthink-instance/deploying-nexthink-in-non-vdi-environment/installing-collector/installing-collector-on-windows.md#installingcollectoronwindows-deployingcollectorwithinawindowsreferenceimage)
   {% endstep %}

{% step %}
**Test the connector and Collector**

**Connector**

Confirm that device and session data is being enriched with information from the connector integration by verifying fields such as:

* Disk Image
* Desktop Pool
* Virtualization Host Name
* Virtualization Type

To test enrichment, ensure that Collector is installed on the VMs and is operational, and run the following query:

{% code lineNumbers="true" %}

```sql
devices
| where virtualization.desktop_broker == horizon_on_prem
| list name, hardware.type, virtualization.disk_image, virtualization.desktop_pool, virtualization.environment_name, virtualization.hypervisor_name,  virtualization.hostname, virtualization.type, virtualization.last_update
| sort virtualization.last_update desc
```

{% endcode %}

For more information about running queries, see the [Investigations](/platform/user-guide/investigations.md) documentation.

**Collector on VMs**

{% hint style="info" %}
If needed, contact Nexthink support or your Nexthink representative.
{% endhint %}

**Shared VDI**

Ensure data such as the following are visible in Nexthink:

* Device ID
* User Name
* Session Hostname

To check this, run the following query:

{% code lineNumbers="true" %}

```sql
vdi_sessions
| where device.virtualization.desktop_broker == horizon_on_prem and vdi_session.virtualization_type == shared
| list vdi_session.name, user.name, device.name, vdi_session.hostname, desktop_pool, first_seen
| sort first_seen desc
```

{% endcode %}

**Pooled VDI (non-persistent)**

Confirm that instances report the following after deployment:

* Unique Device IDs
* Accurate Pool Names
* Fresh Boot Times

To check this, run the following query:

{% code lineNumbers="true" %}

```sql
devices
| where virtualization.desktop_broker == horizon_on_prem and virtualization.type == pooled
| list name, virtualization.desktop_pool, boot.last_full_boot_time
| sort boot.last_full_boot_time desc
```

{% endcode %}

**Personal VDI (persistent)**

Verify the consistent reporting of the following:

* Device ID and Assigned User
* System uptime across Reboots and Logons

To check this, run the following query:

{% code lineNumbers="true" %}

```sql
devices
| where virtualization.desktop_broker == horizon_on_prem and virtualization.type == personal
| with session.vdi_events during past 168h
| compute number_of_sessions = vdi_session.count(), time_since_session_last_seen = end_time.last().time_elapsed(), last_user = user.name.last()
| include device_performance.boots during past 168h
| compute number_of_restarts = number_of_boots.sum()
| include session.logins during past 168h
| compute time_since_last_login = time.last().time_elapsed(), number_of_logons = number_of_logins.sum()
| list name, last_user, number_of_sessions, time_since_session_last_seen, number_of_logons, time_since_last_login, number_of_restarts, boot.last_full_boot_time.time_elapsed(), last_seen.time_elapsed()
| sort time_since_session_last_seen desc
```

{% endcode %}
{% endstep %}
{% endstepper %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nexthink.com/platform/configuring_nexthink/bringing-data-into-your-nexthink-instance/deploying-nexthink-in-vdi-environment/vdi-platform-specific-deployment-scenarios/omnissa-horizon-on-prem.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
