---
title: "Automate UltraVNC Silent Install with PowerShell"
description: "Deploy UltraVNC across your computers with a script to automate the silent install process."
canonical: "https://adamtheautomator.com/ultravnc-silent-install/"
---

# Automate UltraVNC Silent Install with PowerShell

> Deploy UltraVNC across your computers with a script to automate the silent install process.

Source: https://adamtheautomator.com/ultravnc-silent-install/

---

ATA Learning

Tap to hide

[

ATA Learning

](/)

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Search for:  

*   [](https://twitter.com/adbertram)
*   [](https://github.com/Adam-the-Automator)
*   [](https://www.linkedin.com/company/adam-the-automator-llc)
*   [](/feed/)

![Automate UltraVNC Silent Install with PowerShell](https://adamtheautomator.com/wp-content/uploads/2019/07/monitor-1307227_1280.jpg)

# Automate UltraVNC Silent Install with PowerShell

[![](https://secure.gravatar.com/avatar/d0b9d42e21e5622713f8b693aa5c0f9244d5f7dd200ed29b8398f52dee5de337?s=192&d=mm&r=g)Adam Bertram](https://adamtheautomator.com/author/adam-bertram/)21 July 20193 min. read

Categories: [IT Ops](/category/it-ops/)

Tags:[PowerShell](/tag/powershell/)[VNC](/tag/vnc/)

Table of Contents

*   [Finding UltraVNC Silent Install Switches](#finding-ultravnc-silent-install-switches)
*   [Setting up remote install capability](#setting-up-remote-install-capability)
*   [Cleaning up installer remnants](#cleaning-up-installer-remnants)

VNC is one of the most popular remote desktop control products out there. It’s free and comes in many different flavors that administrators can pick from. In this post, we’re going to cover how to silently install UltraVNC, a flavor of VNC, on Windows.

If you’re a desktop administrator, there may have been a time in your career where you needed to connect to an UltraVNC server running on a user’s desktop to find that it was not installed. At that point, you might have talked the user through installing the UltraVNC server from a file share somewhere on the network. This takes time and resources.

It’s much better to automate this process and remotely install the UltraVNC server remotely with no user interaction at all! We can build a PowerShell script to do just that that allows you to remotely install UltraVNC server to as many computers as you need.

## Finding UltraVNC Silent Install Switches

Before we get too far, we’ll first need to figure out the switches required to make the install silent. Depending on the software, this might be an easy or incredibly frustrating experience.

To silently install UltraVNC server on a Windows machine, you’ll first need to create an INF file. The INF file is like an answer file providing all of the installation information the UltraVNC server needs.

You create this INF file by performing a typical install of UltraVNC on a single machine. Instead of simply launching the installer, you’ll use the `/savinf` which and provide the location of the INF file as shown below.

```powershell
setup.exe /saveinf="C:\silentinstall.inf"
```

The example above will save a file called _silentinstall.inf_ to the root of you C drive.

Next, you need to figure out how to use this answer file when installing UltraVNC on another computer. This is possible using the `/loadinf` switch and passing the file name in the same manner.

```powershell
setup.exe /loadinf="C:\silentinstall.inf"
```

This works but doesn’t make the install completely silent like you need. To do that, you’ll need to add another switch to this; `/verysilent`.

```powershell
setup.exe /verysilent /loadinf="C:\silentinstall.inf"
```

When executed, this syntax will silently install UltraVNC with all of the same answers I initially provided manually saved in the INF file.

## Setting up remote install capability

We now have the ability to silently install this software on a machine. However, we have no way to do this to remote computers. As is, you have to manually copy the _setup.exe_ file and the INF file to any computer you’d like to remotely install this on. This is unacceptable! Let’s automate all of this with a [PowerShell function](https://adamtheautomator.com/powershell-functions/ "PowerShell function").

Since you’ve already got everything necessary to perform the install locally, you’ll now need to figure out first where you’re going to store the _setup.exe_ file and the INF file. These files need to be accessible to every computer you’ll be installing UltraVNC to. You’ll be providing these files on a common file share to deliver those bits to remote computers.

Because you’ll probably need to reference the installer bits over and over again, it’s a good idea to place them on a file share somewhere on the network. I’ll put them on a share called _ToolShare_ on my _MEMBERSRV1_ server. Below is where I’m starting to build a deployment PowerShell script.

```powershell
$InstallerFolder = '\\MEMBERSRV1\ToolShare\VNC'
```

Next, you’ll need to copy the _setup.exe_ and the INF file to remote computers on demand to install UltraVNC silently. To do this, use [`Copy-Item`](https://adamtheautomator.com/copy-item/) to do a simple file copy of the entire VNC folder. Below I’m copying the contents of my installer folder to the root of the C drive on the remote computer.

```powershell
$ClientName = 'MYCLIENT'
Copy-Item -Path $InstallerFolder -Destination \\$ClientName\c$ -Recurse
```

Next, I’ll need to invoke the install remotely. [PowerShell remoting](https://adamtheautomator.com/psremoting/ "PowerShell remoting") is an excellent way to make this happen. I’ll use the [`Invoke-Command`](https://adamtheautomator.com/invoke-command/) command to remotely execute the silent install from my computer. To do this, I’ll first need to wrap the command I need to run in a script block.

```powershell
$scriptBlock = {
    Start-Process "C:\VNC\setup.exe" -Args "/verysilent/loadinf=`"C:\VNC\silentinstall.inf`"" -Wait -NoNewWindow
}
```

You can see you’re using the `Start-Process` cmdlet to kick off the installer on the remote computer and am passing the silent arguments as you came up with earlier.

Next, you’ll need to execute this script on the remote computer with the `Invoke-Command` command.

```powershell
PS> Invoke-Command -ComputerName $ClientName -ScriptBlock $scriptBlock
```

This sends instructions to `$ClientName` to run the code inside of the script block. After this is complete, we’re done! UltraVNC is installed.

## Cleaning up installer remnants

However, we’ve now left that _C:\\VNC_ folder on the remote computer. Let’s clean that up.

```powershell
Remove-Item \\$ClientName\c$\VNC -Recurse
```

We’ve now installed UltraVNC and cleaned up any remnants we’ve left behind. If you’ve liked this approach, feel free to download the [Deploy-VNC script](https://github.com/adbertram/Random-PowerShell-Work/blob/f88241b7942e343eeef08ab583212e682df89eb3/Software/Deploy-VNC.ps1) from my Github repo. It encapsulates all of this code into a PowerShell function and adds some additional functionality to make remotely installing UltraVNC server on Windows machines a piece of cake!

Share this article

[Share on X](https://twitter.com/intent/tweet?url=https%3A%2F%2Fadamtheautomator.com%2Fultravnc-silent-install%2F&text=Automate%20UltraVNC%20Silent%20Install%20with%20PowerShell)[Share on Facebook](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fadamtheautomator.com%2Fultravnc-silent-install%2F)[Share on LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fadamtheautomator.com%2Fultravnc-silent-install%2F)

## Related Posts

![](https://adamtheautomator.com/wp-content/uploads/2026/06/26995-troubleshoot-dns-issues-powershell-codex.webp)

### [Troubleshoot DNS Issues with PowerShell](/troubleshoot-dns-issues-powershell/)

Troubleshoot DNS issues with PowerShell by testing name resolution, DNS client settings, cache entries, and network connectivity in a repeatable workflow.

![](https://adamtheautomator.com/wp-content/uploads/2025/10/image_2025-10-24_095322075.png)

### [Migrating from PowerShell 6 to 7.5: Breaking Changes/New Features](/migrating-powershell-6-to-7-5/)

Migrate from PowerShell Core 6 to 7.5: breaking changes, features, and testing tips.

![](https://adamtheautomator.com/wp-content/uploads/2025/06/featured-image-6.png)

### [How to Add Timeouts to Pester Tests with PowerShell Runspaces](/pester-test-timeout-runspaces/)

Prevent Pester tests from hanging indefinitely using PowerShell runspaces. Learn to handle variable scoping, module loading, TestDrive access, and stream capture challenges with timeout protection.

## Categories

*   [IT Ops](/category/it-ops/)
*   [Cloud](/category/cloud/)
*   [DevOps](/category/devops/)
*   [Home Ops](/category/home-ops/)
*   [Information Security](/category/infosec/)
*   [Software Development](/category/software-development/)

## Site

*   [Home](/)
*   [Tutorials](/tutorials/)
*   [Instructors](/author/)
*   [Advertising](/advertising/)
*   [Recommended Resources](/resources/)
*   [About Adam](/about-adam/)

Copyright 2026© ATA Learning | [Privacy Policy](/privacy/)
