自动化虚拟机

本文关键字:虚拟机 自动化 | 更新日期: 2023-09-27 18:01:37

我正在做一个类似于微软虚拟实验室的项目。我创建了一个.aspx (c#)网页,可以运行powershell脚本来启动vmware-vmrc控制台。网页是在我自己的电脑上部署和运行的。我还尝试在服务器上发布我的解决方案,网页工作良好,但控制台不出现在我的屏幕上。我猜是因为脚本运行在服务器上而不是本地主机上。我想知道是否有任何方法来启动控制台,如果我的解决方案/程序是建立在服务器。

$hostname = "localhost:8333"
$vms = "VmName"
$vm = get-vm $vms
$vmid = $vm.id
$gvm = Get-View $vmid
$vmrc = "C:'Program Files (x86)'Common Files'VMware'VMware Remote Console Plug-in'vmware-vmrc.exe"
$vmrcargs = '-h ' + $hostname + ' -m "' + $gvm.Config.Files.VmPathName + '"'
[Diagnostics.Process]::Start($vmrc, $vmrcargs)

自动化虚拟机

在您的代码中,您将主机名硬编码为localhost,理论上您可以从ASP的Request对象读取此值。. NET上下文,并将其替换为客户端的主机名。

这么说,我真的怀疑它会工作,因为它没有授予服务器远程访问客户端…即使传递正确的IP地址,即使我看到有指定的端口(8333),也可能存在防火墙…

当然,在内部网中它可以工作,您必须尝试一下。

通过8333端口对客户端的名称执行telnet,检查端口是否打开。

如果telnet工作,那么将"localhost(或dns或主机名)替换为客户端的IP "

如果telnet不工作,那么打开端口。

但是,如果端口是打开的,它将工作。

亲切的问候,