> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/rdm/knowledge-base/troubleshooting-articles/vmware.md).

# VMware PowerCLI console connection errors

Fix VMware Remote Console entries that fail to open with the VMware PowerCLI console type, from missing Connect-VIServer cmdlets to certificate prompts.

A ***VMware Remote Console (VMRC)*** entry whose ***VMware Console type*** is set to ***VMware PowerCLI*** opens the virtual machine console through VMware PowerCLI. Remote Desktop Manager runs a PowerShell script that calls `Connect-VIServer` and then `Open-VMConsoleWindow`, so the console only opens if PowerCLI is installed and configured for the current Windows user.

{% hint style="info" %}
The ***VMware Console type*** setting is available when the entry is not set to open in embedded mode. The VMware dashboard and the VMware synchronizer connect to the server through the VMware API and do not use PowerCLI.
{% endhint %}

VMware PowerCLI is not a Devolutions product. Refer to the VMware PowerCLI documentation for the configuration that suits your environment. To set up PowerCLI for the first time, see [Configure VMware PowerCLI for use by Remote Desktop Manager](/rdm/knowledge-base/how-to-articles/configure-vmware-powercli-for-use-by-remote-desktop-manager.md).

### Connect-VIServer is not recognized

The PowerShell window displays the following error: *The term 'Connect-VIServer' is not recognized as the name of a cmdlet, function, script file, or operable program.*

#### Cause

The VMware PowerCLI modules are not installed, or they are not available to the Windows user running Remote Desktop Manager.

#### Solution

1. Open a PowerShell window as the same Windows user that runs Remote Desktop Manager.
2. Run `Get-Module VMware* -ListAvailable` to list the installed VMware modules.
3. If the list is empty or ***VMware.VimAutomation.Core*** is missing, install the PowerCLI modules for the current user:

   ```powershell
   Install-Module -Name VMware.PowerCLI -Scope CurrentUser -AllowClobber
   ```
4. Run `Get-Module VMware* -ListAvailable` again to confirm that ***VMware.PowerCLI*** and the ***VMware.VimAutomation.\**** modules are listed.
5. Launch the ***VMware Remote Console (VMRC)*** entry again.

### Invalid server certificate

PowerCLI stops the connection because the vSphere or vCenter server presents a certificate that is not trusted.

#### Solution

Deploying a valid certificate on the server and trusting its certification authority is the most secure option. If your security policy allows the default server certificate, run the following command in PowerShell to have PowerCLI ignore invalid certificates:

```powershell
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
```

{% hint style="warning" %}
Ignoring invalid certificates exposes the connection to impersonation of the server. Review VMware's documentation and your security requirements before applying this setting.
{% endhint %}

### PowerCLI prompts for a configuration choice

The first time PowerCLI runs, it can display prompts, such as the choice between single and multiple default server mode. Remote Desktop Manager runs the script without user interaction, so these prompts prevent the console from opening.

#### Solution

1. Open a PowerShell window as the same Windows user that runs Remote Desktop Manager.
2. Run `Connect-VIServer <server name or IP address>` and answer the prompts that appear.
3. Launch the ***VMware Remote Console (VMRC)*** entry again.

PowerCLI settings can apply to the ***Session***, ***User***, or ***AllUsers*** scope. Use the ***User*** or ***AllUsers*** scope so that the answers persist when Remote Desktop Manager runs the script.

### Scripts are disabled on this system

The PowerShell window reports that the PowerCLI module cannot be loaded because running scripts is disabled on this system.

#### Cause

The PowerShell execution policy blocks the PowerCLI modules from loading.

#### Solution

Allow signed scripts for the current user by running the following command in PowerShell:

```powershell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
```

Check with your administrator that this change complies with your organization's policies. For more information, see [about\_Execution\_Policies](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/rdm/knowledge-base/troubleshooting-articles/vmware.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
