Powershell 使用桌面快捷方式启动Hyper-V虚拟机

Powershell 使用桌面快捷方式启动Hyper-V虚拟机,powershell,virtual-machine,hyper-v,Powershell,Virtual Machine,Hyper V,我想使用桌面快捷方式启动hyper-v虚拟机,然后使用Windows远程桌面控制它。互联网上说我应该创建一个指向这里的快捷方式: C:\\Windows\System32\vmconnect.exe localhost 'name of VM' 当我单击快捷方式时,会弹出一个hyper-v窗口,显示与VM的远程连接。但我想改用Windows远程桌面。如何更改启动VM的快捷方式,但不打开Hyper-V窗口 Mayber有另一个.exe刚刚启动服务器,或者有人有一个shell脚本,一个简单的PS脚

我想使用桌面快捷方式启动hyper-v虚拟机,然后使用Windows远程桌面控制它。互联网上说我应该创建一个指向这里的快捷方式:

C:\\Windows\System32\vmconnect.exe localhost 'name of VM'
当我单击快捷方式时,会弹出一个hyper-v窗口,显示与VM的远程连接。但我想改用Windows远程桌面。如何更改启动VM的快捷方式,但不打开Hyper-V窗口


Mayber有另一个.exe刚刚启动服务器,或者有人有一个shell脚本,一个简单的PS脚本就可以做到这一点。可以通过快捷方式启动脚本

$vmname = "MyVM"
Get-VM -ComputerName localhost -Name $vmname | Where-Object {$_.State -ne 'Running'} | Start-VM
& "$env:windir\system32\mstsc.exe" /v:$vmname

一个简单的PS脚本就可以做到这一点。可以通过快捷方式启动脚本

$vmname = "MyVM"
Get-VM -ComputerName localhost -Name $vmname | Where-Object {$_.State -ne 'Running'} | Start-VM
& "$env:windir\system32\mstsc.exe" /v:$vmname

您可以在任何目录中使用RMB创建快捷方式。然后输入

vmconnect.exe 127.0.0.1 "My VM name"
127.0.0.1是运行命令的计算机的IP地址,如果目标是远程服务器,则将使用该IP代替


这会弹出VM的窗口,该窗口连接或显示它尚未运行,然后您可以按start。

您可以在任何目录中使用RMB创建快捷方式。然后输入

vmconnect.exe 127.0.0.1 "My VM name"
127.0.0.1是运行命令的计算机的IP地址,如果目标是远程服务器,则将使用该IP代替


这会弹出VM的窗口,该窗口连接或显示它尚未运行,然后您可以按开始。

C:\Windows\System32\mstsc.exe/v[本地可访问的VM IP地址]
,这只是启动VM和Windows远程桌面之间的通信。但是没有启动虚拟机,对吗?
C:\Windows\System32\mstsc.exe/v[本地可访问的虚拟机IP地址]
这只是启动虚拟机和Windows远程桌面之间的通信。但是没有启动虚拟机,对吗?对我来说不太管用。我无法使用VM的名称启动远程桌面连接。我必须像这样使用IP地址:
vmname=“VM的名称”$vmip=“VM的本地可访问IP地址”Get VM-ComputerName localhost-name$vmname | Where Object{$\ State-ne'Running'}Start VM&“$env:windir\system32\mstsc.exe”/v$vmip
您的主机可能无法解析您的虚拟机的主机名。对我来说不太合适。我无法使用VM的名称启动远程桌面连接。我必须像这样使用IP地址:
$vmname=“VM的名称”$vmip=“VM的本地可访问IP地址”Get VM-ComputerName localhost-name$vmname | Where Object{$\ State-ne'Running'}Start VM&“$env:windir\system32\mstsc.exe”/v$vmip
您的主机可能无法解析您的VM的主机名。