# VMware vSphere Hypervisor connector

{% hint style="info" %}
This documentation references external sources. Nexthink does not have control over the accuracy of third-party documentation, nor any external updates or changes that might create inconsistencies with the information presented on this page. Please report any errors or inconsistencies to [Nexthink Support](https://support.nexthink.com/).
{% endhint %}

The Nexthink Connector for VMware VSphere retrieves essential information about your VSphere virtual desktop infrastructure (VDI), most notably the name of the desktop pool and related virtualization context to which virtual machines (VMs) belong. The connector enriches your Nexthink environment with VSphere-specific data that enhances visibility into VDI health, usage patterns, and configuration drift.

This installation guide is designed to help you securely deploy the connector for VSphere. We recommend your organization’s security team reviews the configuration and installation steps outlined here and adjusts them as needed to align with internal security policies and compliance requirements.

## Device fields <a href="#connectorforcitrixvirtualappsanddesktops-devicefields" id="connectorforcitrixvirtualappsanddesktops-devicefields"></a>

The vSphere connector imports the following device virtualization fields under the `device_performance.hypervisor_host_events` table.

<table data-full-width="true"><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td>Virtualization hostname</td><td>The name of the virtualization host running the VMs.</td></tr><tr><td>Virtualization cluster</td><td>The logical grouping of hypervisor hosts managed as a single unit to provide shared resources, policy enforcement and other features.</td></tr><tr><td>Number of logical processors</td><td>The number of CPU cores multiplied by the number of threads that can run on each core of the hypervisor host.</td></tr><tr><td>CPU ready</td><td>Ratio of time when VMs were ready, but could not get scheduled to run on the physical CPU during the observed period of time. High CPU Ready can signal noisy neighbors, CPU overcommit, or too many vCPUs assigned.</td></tr><tr><td>Normalized CPU usage</td><td>Average physical CPU utilization over the selected time period, expressed on a 0–100% scale. Indicates the proportion of time the CPU was busy. The value is normalized to enable comparison across hosts of different sizes and is useful for capacity planning.</td></tr><tr><td>CPU time</td><td>Total time the physical CPUs were actively used during the observed period. Represents absolute CPU consumption, useful for capacity planning and for comparing workloads.</td></tr><tr><td>Number of virtual processors</td><td>The number of virtual processors provisioned on the host during the observed period of time. Useful for understanding over-provisioning and underutilization of CPUs.</td></tr><tr><td>Disk read throughput</td><td>Average disk read throughput during the observed period, measured in bytes per second. Useful for identifying storage performance and potential bottlenecks affecting data-intensive workloads.</td></tr><tr><td>Disk write throughput</td><td>Average disk write throughput during the observed period, measured in bytes per second. Useful for identifying storage performance and potential bottlenecks affecting data-intensive workloads.</td></tr><tr><td>Disk latency</td><td>Maximum disk latency during the collection interval, representing the time taken to process SCSI commands issued by the guest OS. Indicates storage responsiveness and potential performance bottlenecks.</td></tr><tr><td>Memory pressure state</td><td>Indicates the current memory pressure state and the memory reclamation techniques applied by the hypervisor. As memory pressure increases, the hypervisor progressively applies ballooning, compression, and swapping. Possible values: high, soft, hard, low.</td></tr><tr><td>Swap in throughput</td><td>Average rate at which guest physical memory is swapped in from disk during the observed period. Indicates real memory contention that can directly impact VDI user experience.</td></tr><tr><td>Swap out throughput</td><td>Average rate at which guest physical memory is swapped out to disk during the observed period. Indicates real memory contention that can directly impact VDI user experience.</td></tr><tr><td>Swap in use</td><td>Amount of swap storage actively used by the virtual machine, representing memory pages stored on disk instead of physical memory. Indicates sustained memory overcommit and the level of performance degradation carried over time.</td></tr><tr><td>Memory usage</td><td>Percentage of host physical memory consumed during the observed period. Hypervisors cache memory aggressively, so high values (for example, around 90%) are common and do not necessarily indicate memory contention. Useful for capacity planning and establishing a baseline memory footprint.</td></tr><tr><td>Memory ballooning</td><td>Total amount of memory reclaimed from guest virtual machines by the balloon driver. Indicates memory pressure on the host; sustained ballooning typically signals memory overcommit and can affect VDI performance if workloads are memory-sensitive.</td></tr><tr><td>Installed memory</td><td>The total amount of physical memory installed on the hypervisor host. Used as a capacity baseline to evaluate memory utilization, overcommitment on the hypervisor.</td></tr><tr><td>Committed memory</td><td>The total amount of memory configured for all powered-on virtual machines running on the hypervisor. A sustained committed-to-installed memory ratio greater than 1.0 may indicate memory overcommitment and can lead to increased memory contention under load.</td></tr><tr><td>NUMA misaligned VMs</td><td>Number of virtual machines running on the host whose vCPU and memory placement is not aligned with the host’s NUMA topology or spans multiple NUMA nodes. Indicates potential NUMA-related performance inefficiencies, particularly for CPU- or memory-intensive workloads.</td></tr><tr><td>Hyper-threading</td><td>Indicates whether CPU simultaneous multithreading is enabled on the host. When enabled, each physical core presents multiple logical processors to the hypervisor, affecting scheduling efficiency and consolidation density. Possible values: enabled, disabled.</td></tr><tr><td>Power policy</td><td>Power management mode configured on the host, defining the balance between performance and energy efficiency. Affects CPU frequency scaling, power-saving behavior, and workload performance. Possible values: high_performance, balanced, low_power.</td></tr><tr><td>Number of VMs</td><td>Number of active VMs running on the hypervisor, including VMs without active user sessions. Commonly used to assess host consolidation, baseline resource load, and identify background or idle VMs contributing to resource consumption.</td></tr></tbody></table>

## Nexthink connector server <a href="#connectorforcitrixvirtualappsanddesktops-nexthinkconnectorserver" id="connectorforcitrixvirtualappsanddesktops-nexthinkconnectorserver"></a>

Nexthink recommends installing the vSphere connector on a separate server.

### Prerequisites <a href="#connectorforcitrixvirtualappsanddesktops-prerequisites" id="connectorforcitrixvirtualappsanddesktops-prerequisites"></a>

* [Downloaded the Nexthink Connector for WMware vSphere](https://download.nexthink.com/integrations/vSphere+onPrem+Connector/0.0.12/vSphereConnector-0.0.12.zip).
* Installed Windows PowerShell 7.2.
* Execution policy set to **bypass**.
* Required PowerShell modules:
  * [Logging 4.8.5](https://www.powershellgallery.com/packages/Logging/4.8.5)
  * [CredentialManager 2.0](https://www.powershellgallery.com/packages/CredentialManager/2.0)
  * [VCF.PowerCLI](https://developer.broadcom.com/powercli)

{% hint style="warning" %}
Run the following commands to install CredentialManager, ensuring it is compatible with PowerShell 7.2.
{% endhint %}

```powershell
Import-Module -Name CredentialManager -UseWindowsPowerShell
Import-Module -Name CredentialManager -SkipEditionCheck
```

#### **URLs to allow through firewall/proxy for PowerShell `Install-Module`**

<table><thead><tr><th width="319">Purpose</th><th>URL</th></tr></thead><tbody><tr><td>PowerShell Gallery</td><td><code>https://www.powershellgallery.com</code></td></tr><tr><td>NuGet provider</td><td><code>https://www.nuget.org</code></td></tr><tr><td>NuGet API</td><td><code>https://api.nuget.org</code></td></tr><tr><td>CDN for packages</td><td><code>https://www.powershellgallery.com/api/v2/</code></td></tr><tr><td>Alternate NuGet V2 API</td><td><code>https://www.nuget.org/api/v2/</code></td></tr><tr><td>Certificate revocation</td><td><code>http://crl.microsoft.com</code><br>(normally optional; sometimes necessary)</td></tr></tbody></table>

#### Additional Considerations

* Only one vSphere connector is supported; do not set up the connector on multiple servers because it can lead to duplicated events.
* If you use other Nexthink connectors, such as the Omnissa Horizon on-prem connector, you can run them on the same VM if the required APIs are accessible.
* If SSL inspection is enabled on your proxy, ensure it does not break the TLS handshake.
* If you're behind a proxy, ensure `PowerShell` is configured to use it by running the following command:

{% code overflow="wrap" %}

```powershell
[System.Net.WebRequest]::DefaultWebProxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
```

{% endcode %}

#### **Test connectivity**

Test access using a PowerShell terminal by running the following command:

```powershell
Invoke-WebRequest https://www.powershellgallery.com
```

### Networking <a href="#connectorforcitrixvirtualappsanddesktops-networking" id="connectorforcitrixvirtualappsanddesktops-networking"></a>

The vSphere connector needs to query the VSphere REST API.

### Service account for scheduled tasks <a href="#connectorforcitrixvirtualappsanddesktops-serviceaccountforscheduledtasks" id="connectorforcitrixvirtualappsanddesktops-serviceaccountforscheduledtasks"></a>

The vSphere connector runs as a scheduled task and needs to be able to access the vSphere APIs. To limit security concerns, we recommend using a local user account on the Nexthink connector server or a regular domain user account without any special privileges at the domain level.

The following guide uses a local account on the Nexthink connector server.

{% stepper %}
{% step %}
Log on as an administrator to the server that will run the vSphere connector.
{% endstep %}

{% step %}
Launch the local users and groups console by running the following command from the Start Menu:

```powershell
lusrmgr.msc
```

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-e33a79105f0d5b3d5de897a63c6ac9bb729684d0%2Fcitr-1678980898.png?alt=media" alt="Run the lusrmgr.msc command"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Right-click on the **Users** folder in the **Local Users and Groups (Local)** directory and select **New user…**
{% endstep %}

{% step %}
Create a user account according to your organization's naming conventions. Make a note of the **User name** and **Password** as you will need these later when creating a scheduled task. To safeguard the functionality of the connector, select the following options:

* **User cannot change password**
* **Password never expires**

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2FRBzpNwr1hvr5hB5nwOtS%2Fimage.png?alt=media&#x26;token=1c15506d-67bc-43f7-8a7f-27e2e9f1d43e" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Select **Create**.
{% endstep %}

{% step %}
Open the local group policy editor by running the following command from the Start Menu:

```powershell
gpedit
```

{% endstep %}

{% step %}
Navigate to **Computer Configuration > Windows Settings > Security Settings> Local Policies > User Rights Assignment** and locate the **Log on as a batch Job** policy.
{% endstep %}

{% step %}
Open the policy and select **Add User or Group** to add the previously created user to the list.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2FQuAK2XbzrXOAKPjrqL15%2Fimage.png?alt=media&#x26;token=07d895c0-e200-4fe7-8af0-80400007ad48" alt="" width="416"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Ensure the account is enabled by running the following commands:

```powershell
# Enable the account (run as Administrator)
Enable-LocalUser -Name "nxt-vsphere"

# Verify it's enabled
Get-LocalUser -Name "nxt-vsphere" | Select-Object Name, Enabled
```

{% endstep %}
{% endstepper %}

### Installing the connector <a href="#connectorforcitrixvirtualappsanddesktops-installingtheconnector" id="connectorforcitrixvirtualappsanddesktops-installingtheconnector"></a>

{% stepper %}
{% step %}
Download the [vSphere connector](#connectorforcitrixvirtualappsanddesktops-prerequisites).
{% endstep %}

{% step %}
Extract the zip file to a folder on your system. Nexthink recommends placing it in the following folder:

`C:\program files\Nexthink\Connectors\VSphere`
{% endstep %}

{% step %}
Apply **Modify** permissions for the **Logs** folder for the user account you created earlier.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2FjYRwKEUv5oWaMG31YtHd%2Fimage.png?alt=media&#x26;token=fa2d0470-fcbb-4a30-96a2-7a190dd3c4e9" alt="" width="364"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Nexthink Enrichment API credentials <a href="#connectorforcitrixvirtualappsanddesktops-nexthinkenrichmentapicredentials" id="connectorforcitrixvirtualappsanddesktops-nexthinkenrichmentapicredentials"></a>

The vSphere connector needs appropriate credentials to connect to the Nexthink Enrichment API. Nexthink stores the credentials safely in the credential store of the local user account you created earlier.

### Updating the configuration file <a href="#connectorforcitrixvirtualappsanddesktops-updatingtheconfigurationfile" id="connectorforcitrixvirtualappsanddesktops-updatingtheconfigurationfile"></a>

For the configuration file update, you need the URL of your Nexthink Cloud API instance. The URL pattern is as follows:

`instance.api.region.nexthink.cloud`

See the following steps for more details.

{% hint style="info" %}
If you do not know your region, reach out to your Nexthink representative to obtain this information.
{% endhint %}

{% stepper %}
{% step %}
Locate the folder where you unzipped the vSphere connector.
{% endstep %}

{% step %}
Navigate to the `Config` folder and open the `config.json` file using a text editor.
{% endstep %}

{% step %}
Scroll to the `"NexthinkAPI"` section and insert the following code:

```json
{
    "_Info": "This is the JSON based configuration for vSphere Hypervisor connector",
    "Info": {
        "Project": "vsphere-hypervisor-on-prem-connector",
        "ConfigVersion": "1.0.0"
    },
    "Logging": {
        "LogRetentionDays": 7,
        "LogLevel": "INFO"
    },
    "vSphereEnvironments": [
        {
            "Name": "<vsphere-environment-name>",
            "vCenterFQDN": "<vcenter_host>",
            "WindowsCredentialEntry": "<vsphere-user-credentials>"
        },
        {
            "Name": "<vsphere-environment-name2>",
            "vCenterFQDN": "<vcenter_host2>",
            "WindowsCredentialEntry": "<vsphere-user-credentials2>"
        }
    ],
    "NexthinkAPI": {
        "HostFQDN": "<nexthink_api_host>",
        "LoginFQDN": "<nexthink_login_host>",
        "WindowsCredentialEntry": "<nxt-vsphere-credentials>",
        "RequestBatchSize": "1000"
    }
}
```

{% endstep %}

{% step %}
Change the following values under the `"NexthinkAPI"` section:

* Replace the `"HostFQDN"` value with the URL of your Nexthink cloud API instance using the format `<instance>.api.<region>.nexthink.cloud` where `<instance>` and `<region>` are placeholders.
  * Replace `<instance>` with the name of the instance
  * Replace `<region>` with the name of one of the following regions:
    * `us` for the United States
    * `eu` for the European Union
    * `pac` for Asia-Pacific
    * `meta` for the Middle East, Turkey, and Africa
  * If needed, refer to the following URL example:\
    `gwy-eu-west-3-fuji-rest.api.eu.nexthink.cloud`
* Replace the `“WindowsCredentialEntry"` with the `TargetName` of the credentials you noted down from the PowerShell window earlier, for example:\
  `"WindowsCredentialEntry": "nxt-vsphere-credentials",`

{% hint style="warning" %}
To replace the `"VSphereEnvironments"` values in the configuration file and set up a connection to the Citrix CVAD farm, refer to [#connectorforcitrixvirtualappsanddesktops-updatingtheconfigurationfile](#connectorforcitrixvirtualappsanddesktops-updatingtheconfigurationfile "mention").
{% endhint %}
{% endstep %}
{% endstepper %}

### Setting up stored credentials <a href="#connectorforcitrixvirtualappsanddesktops-settingupstoredcredentials" id="connectorforcitrixvirtualappsanddesktops-settingupstoredcredentials"></a>

{% stepper %}
{% step %}
On the server that will be running the vSphere connector, open PowerShell under the credentials of the local user you created earlier by running `runas` in the command line:

```powershell
runas /user:nxt-vsphere powershell.exe
```

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2FYfCGXDLNqZvH9VVz2HqK%2Fimage.png?alt=media&#x26;token=d443caba-7864-4c3b-a8e9-254f88a3994c" alt="" width="563"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
In the newly opened PowerShell window, add the API credentials you just created in the Nexthink web interface by running the following command:

{% code overflow="wrap" %}

```powershell
New-StoredCredential -Target "vsphere-user-credentials" -UserName <domain\username> -Password <password> -Persist LocalMachine
```

{% endcode %}

Replace the `<domain\username>` and `<password>` with the values you noted down when creating a domain user account with a read-only vSphere administrator.

Make a note of the `TargetName` you used as you will need this value for the configuration file.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2FMz8Mk07zdiroJiLjF5TJ%2Fimage.png?alt=media&#x26;token=880810e0-bde0-4683-9e8d-54db06e06178" alt=""><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

### Updating the configuration file <a href="#connectorforcitrixvirtualappsanddesktops-updatingtheconfigurationfile.1" id="connectorforcitrixvirtualappsanddesktops-updatingtheconfigurationfile.1"></a>

Each Citrix CVAD environment has its own section in the configuration file. The configuration file that comes with the connector contains an example of how to configure multiple environments. If needed, create a copy of the original `config.json` file for future reference.

{% stepper %}
{% step %}
Locate the folder where you unzipped the vSphere connector.
{% endstep %}

{% step %}
Navigate to the **`Config`** folder and open the `config.json` file using a text editor.
{% endstep %}

{% step %}
Scroll to the `"VSphereEnvironments"` section and remove the second item on the list. The code should look similar to the following:

```json
{
    "_Info": "This is the JSON based configuration for VSphere connector",
    "Info": {
        "Project": "connector-vsphere-server",
        "ConfigVersion": "0.1.0"
    },
    "Logging": {
        "LogRetentionDays": 7,
        "LogLevel": "INFO"
    },
    "VSphereEnvironments": [
        {
            "Name": "<environment-name-1>",
            "Host": "<host>",
            "WindowsCredentialEntry": "<vsphere-user-credentials-1>"
        },
        {
            "Name": "<environment-name-2>",
            "Host": "<host>",
            "WindowsCredentialEntry": "<vsphere-user-credentials-2>"
        }
    ],
    "NexthinkAPI": {
        "HostFQDN": "<nexthink_api_host>",
        "WindowsCredentialEntry": "<nxt-vsphere-credentials>",
        "RequestBatchSize": 1000
    }
}
```

Change the following values in the `"VSphereEnvironments"` section:

* Replace `<environment-name-1>` with the name of your environment.
* Replace `<host>` with the vSphere host.
* Replace `<vsphere-user-credentials-1>` with the `TargetName` of the stored credentials you created earlier in PowerShell.
* Make a note of the identifier as you will need it later.
  {% endstep %}
  {% endstepper %}

### Testing the connector <a href="#connectorforcitrixvirtualappsanddesktops-testingtheconnector" id="connectorforcitrixvirtualappsanddesktops-testingtheconnector"></a>

{% stepper %}
{% step %}
On the server that will be running the vSphere connector, open PowerShell under the credentials of the local user you created earlier using the `runas` command:

```powershell
runas /user:nxt-vsphere-connector powershell.exe
```

{% endstep %}

{% step %}
Change to the directory where you installed the connector, for example:

```powershell
cd 'C:\Program Files\Nexthink\Connectors\VSphere\'
```

{% endstep %}

{% step %}
Run the following command:

```powershell
.\VSphere-Connector-Auto-Updater.ps1
```

{% endstep %}

{% step %}
Then run the following command:

```powershell
.\VSphere-Connector-Runner.ps1 -VSphereEnvironment <vsphere-name>
```

Replace `<vsphere-name>` with the value you put as a name in the config in the following section:

```json
"VSphereEnvironments": [
        {
            "Name": "vsphere-name",
            "Host": "https://vsphere.vdi.nexthink.dev",
            "WindowsCredentialEntry": "vsphere-user-credentials"
        }
    ],
```

After executing the command, the PowerShell window closes, and a folder with the name you chose for the connection appears containing a log file with the test result.
{% endstep %}
{% endstepper %}

### Setting up scheduled tasks <a href="#connectorforcitrixvirtualappsanddesktops-settingupascheduledtask" id="connectorforcitrixvirtualappsanddesktops-settingupascheduledtask"></a>

#### Auto updater

{% stepper %}
{% step %}
Open the task scheduler and select **Create task…**

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-e4cdd40df98d68e566780ee02b2ecd8127017101%2Fcitr-1669383499.png?alt=media" alt="Create a task"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Name the task and change the user to the service account that you previously created in the **General** tab. Select **Run whether user is logged on or not**. Select **OK**.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2FXkGVYiua6EQzganU4NI9%2Fimage.png?alt=media&#x26;token=48a171ec-a55c-4740-9f7e-f79516657335" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Switch to the **Triggers** tab.
{% endstep %}

{% step %}
Under Advanced settings, select **Repeat tasks every 15 minutes**. Select **OK**.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fnl1bcistfG07nVVam5DD%2Fimage.png?alt=media&#x26;token=7caabe82-0258-4dbc-8a6a-d41f1d58a08a" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Switch to the **Actions** tab and create a new action.
{% endstep %}

{% step %}
{% hint style="warning" %}
Ensure to use PowerShell 7. Check the PowerShell version by, for example, examining the file path:

`C:\Program Files\PowerShell\7\pwsh.exe`
{% endhint %}

Paste the full path of the `VSphere-Connector-Auto-Updater.ps1` script into the **Add arguments (optional)** field, including the environment name, for example:

`-ExecutionPolicy Bypass -File "C:\Program Files\Nexthink\Connectors\VSphere\VSphere-Connector-Auto-Updater.ps1"`

Start in the folder containing the script, for example:

`C:\Program Files\Nexthink\Connectors\VSphere`.

Select **OK**.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2F70WEZTLAULBWaRBBYKeT%2Fimage.png?alt=media&#x26;token=e06f464a-469b-4a8a-8f2f-a429d5442f09" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
A window will prompt you to enter the password of the service account. Select **OK**.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-b34805f1e6808fd75ff8560bfcb6f7f97958b03b%2Fcitr-1679387044.png?alt=media" alt="Confirm credentials"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

#### Runner (per Vsphere environment)

{% stepper %}
{% step %}
Open the task scheduler and select **Create task…**

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-e4cdd40df98d68e566780ee02b2ecd8127017101%2Fcitr-1669383499.png?alt=media" alt="Create a task"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Name the task and change the user to the service account that you previously created in the **General** tab. Select **Run whether user is logged on or not**. Select **OK**.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2FSRL6MTQZJaIPiyYEDiBi%2Fimage.png?alt=media&#x26;token=74598789-2494-4a6a-b89e-52f66720214a" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Switch to the **Triggers** tab.
{% endstep %}

{% step %}
Under Advanced settings, select **Repeat tasks every 15 minutes**. Select **OK**.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fnl1bcistfG07nVVam5DD%2Fimage.png?alt=media&#x26;token=7caabe82-0258-4dbc-8a6a-d41f1d58a08a" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Switch to the **Actions** tab and create a new action.
{% endstep %}

{% step %}
{% hint style="warning" %}
Ensure to use PowerShell 7. Check the PowerShell version by, for example, examining the file path:

`C:\Program Files\PowerShell\7\pwsh.exe`
{% endhint %}

Paste the full path of the `VSphere-Connector-Runner.ps1` script into the **Add arguments (optional)** field, including the environment name, for example:

`-ExecutionPolicy Bypass -File "C:\Program Files\Nexthink\Connectors\VSphere\VSphere-Connector-Runner.ps1" -VSphereEnvironment "vsphere-name"`.

Start in the folder containing the script, for example:

`C:\Program Files\Nexthink\Connectors\VSphere`

Select **OK**.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2F70WEZTLAULBWaRBBYKeT%2Fimage.png?alt=media&#x26;token=e06f464a-469b-4a8a-8f2f-a429d5442f09" alt="" width="375"><figcaption></figcaption></figure>
{% endstep %}

{% step %}
A window will prompt you to enter the password of the service account. Select **OK**.

<figure><img src="https://268444917-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxJSUDk9NTtCHYPG5EWs3%2Fuploads%2Fgit-blob-b34805f1e6808fd75ff8560bfcb6f7f97958b03b%2Fcitr-1679387044.png?alt=media" alt="Confirm credentials"><figcaption></figcaption></figure>
{% endstep %}
{% endstepper %}

***

## Verifying that everything is working

When the connector is configured correctly and running, data should start appearing in the platform within a few minutes. Run the following investigation to confirm that data is being ingested:

```
device_performance.hypervisor_host_events during past 1h
```

***

RELATED TOPIC

* [API Credentials](https://developer.nexthink.com/docs/api/api-credentials)


---

# 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/integrating-nexthink-with-third-party-tools/inbound-connectors/connector-for-vmware-vsphere-hypervisor.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.
