我正在开发一个与Mircosoft虚拟实验室类似的项目。我创建了一个.aspx(C#)网页,该网页能够运行powershell脚本来启动vmware-vmrc控制台。该网页已在我自己的计算机上部署和运行。我也尝试在服务器上发布我的解决方案,网页运行良好,但控制台不会出现在我的屏幕上。我想是因为脚本在服务器而不是localhost上运行。我想知道如果我的解决方案/程序是在服务器中构建的,有没有办法启动控制台。
$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)
答案 0 :(得分:0)
在您的代码中,您将主机名硬编码为localhost,理论上您可以从ASP.NET上下文的Request对象中读取此值,并将其替换为客户端的主机名。
这么说,我真的怀疑它会起作用,因为它没有被授予服务器远程访问客户端...甚至传递正确的IP地址,即使我看到有一个指定的端口(8333),也可以是...之间的防火墙......
当然在内联网上它可以工作,你必须尝试这一点。
答案 1 :(得分:0)
通过端口8333对客户端名称执行telnet以检查端口是否已打开。
如果telnet有效,则将“localhost(或dns或主机名)替换为客户端的IP”
如果telnet不起作用,则打开端口。
但是,如果端口已打开,它将起作用。
亲切的问候,
花哨