当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 静默安装 UltraVNC

作者:精品下载站 日期:2024-12-14 20:48:46 浏览:14 分类:玩电脑

如何使用 PowerShell 静默安装 UltraVNC


VNC 是目前最流行的远程桌面控制产品之一。它是免费的,并且有多种不同的风格可供管理员选择。在这篇文章中,我们将介绍如何在 Windows 上静默安装 UltraVNC(VNC 的一种风格)。

如果您是桌面管理员,在您的职业生涯中可能曾经有过这样的情况:您需要连接到用户桌面上运行的 UltraVNC 服务器,却发现它尚未安装。此时,您可能已经告诉用户从网络上的某个文件共享位置安装 UltraVNC 服务器。这需要时间和资源。

最好是自动化此过程并远程安装 UltraVNC 服务器,而无需任何用户交互!我们可以构建一个 PowerShell 脚本来执行此操作,使您可以根据需要将 UltraVNC 服务器远程安装到任意数量的计算机上。

查找 UltraVNC 静默安装开关

在我们深入之前,我们首先需要找出静默安装所需的开关。根据软件的不同,这可能是一种简单的体验,也可能是令人难以置信的令人沮丧的体验。

要在 Windows 计算机上静默安装 UltraVNC 服务器,您首先需要创建一个 INF 文件。 INF 文件就像一个应答文件,提供 UltraVNC 服务器所需的所有安装信息。

您可以通过在单台计算机上执行 UltraVNC 的典型安装来创建此 INF 文件。您将使用 /savinf 并提供 INF 文件的位置,而不是简单地启动安装程序,如下所示。

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

上面的示例将一个名为 silentinstall.inf 的文件保存到 C 驱动器的根目录中。

接下来,您需要弄清楚在另一台计算机上安装 UltraVNC 时如何使用此应答文件。这可以使用 /loadinf 开关并以相同的方式传递文件名。

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

这可以工作,但不会像您需要的那样使安装完全静默。为此,您需要添加另一个开关; /verysilent

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

执行时,此语法将静默安装 UltraVNC,并将我最初手动提供的所有相同答案保存在 INF 文件中。

设置远程安装功能

我们现在能够在计算机上静默安装此软件。但是,我们无法对远程计算机执行此操作。现在,您必须手动将 setup.exe 文件和 INF 文件复制到您想要远程安装的任何计算机上。这是无法接受的!让我们使用 PowerShell 函数自动执行所有这些操作。

由于您已经拥有在本地执行安装所需的一切,因此您现在需要首先确定要存储 setup.exe 文件和 INF 文件的位置。这些文件需要可供您要安装 UltraVNC 的每台计算机访问。您将在公共文件共享上提供这些文件,以将这些位传送到远程计算机。

因为您可能需要一遍又一遍地引用安装程序位,所以最好将它们放在网络上某个位置的文件共享上。我会将它们放在我的 MEMBERSRV1 服务器上名为 ToolShare 的共享上。下面是我开始构建部署 PowerShell 脚本的地方。

$InstallerFolder = '\MEMBERSRV1\ToolShare\VNC'

接下来,您需要根据需要将 setup.exe 和 INF 文件复制到远程计算机,以静默安装 UltraVNC。为此,请使用 Copy-Item 对整个 VNC 文件夹进行简单的文件复制。下面我将安装程序文件夹的内容复制到远程计算机上 C 盘的根目录。

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

接下来,我需要远程调用安装。 PowerShell 远程处理是实现这一目标的绝佳方法。我将使用 Invoke-Command 命令从我的计算机远程执行静默安装。为此,我首先需要将需要运行的命令包装在脚本块中。

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

您可以看到您正在使用 Start-Process cmdlet 启动远程计算机上的安装程序,并传递您之前提出的静默参数。

接下来,您需要使用 Invoke-Command 命令在远程计算机上执行此脚本。

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

这会向 $ClientName 发送指令以运行脚本块内的代码。完成后,我们就完成了! UltraVNC 已安装。

清理安装程序残留物

但是,我们现在已将 C:\VNC 文件夹保留在远程计算机上。让我们清理一下。

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

我们现在已经安装了 UltraVNC 并清理了我们留下的任何残留物。如果您喜欢这种方法,请随时从我的 Github 存储库下载 Deploy-VNC 脚本。它将所有这些代码封装到 PowerShell 函数中,并添加了一些附加功能,使在 Windows 计算机上远程安装 UltraVNC 服务器变得轻而易举!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯