Автоматизировать виртуальную машину - PullRequest
1 голос
/ 07 июля 2011

Я работаю над проектом, похожим на Mircosoft Virtual Lab.Я создал веб-страницу .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)

Ответы [ 2 ]

0 голосов
/ 23 января 2014

Выполните telnet на имя клиента через порт 8333, чтобы проверить, открыт ли порт.

Если телнет работает, замените «localhost (или dns или имя хоста) на IP-адрес клиента»

Если телнет не работает, откройте порт.

Однако, если порт открыт, он будет работать.

С уважением,

Резкая

0 голосов
/ 08 июля 2011

в вашем коде у вас есть имя хоста, жестко запрограммированное как localhost, теоретически вы можете прочитать это значение из объекта Request контекста ASP.NET и заменить его именем хоста клиента.

Сказал, что я действительно сомневаюсь, что это будет работать, потому что не предоставлено, что сервер имеет доступ к клиенту удаленно ... даже передавая надлежащий IP-адрес, и даже если я вижу, что указан порт (8333), может быть межсетевыми экранами между ...

Конечно, во внутренней сети это может сработать, вы должны попробовать это.

...