在没有安装powershell模块之前是不能使用powershell命令来管理Hyper-V的,
1.Start-VM 虚拟机开机
Start-VM -VM 虚拟机名 -Server
服务器名 -Wait -Force
-VM 指定要启动的虚拟机名称
-Server 指定虚拟机所在物理
服务器,留空的话默认为".",即本机
。
-Wait 指定等待该项任务完成后再运行下面的命令,一般在连续做操作时用到
-Force 虚拟机开机时不会进一步弹出选项,因此该参数对于Start-VM好像没有什么作用
如果按顺序写参数值的话,前面的"-VM"、"-Server"等参数名可以省略
。
示例:
Start-VM testvps 给testvps开机
Start-VM testvps -Wait ; Stop-VM testvps -Force 先给testvps开机再给testvps关机,这里必须用-Wait
否则第二条命令会报错,结果只开不关
2.Stop-VM 虚拟机关机(相当于直接按服务器关机按钮)
Stop-VM -VM 虚拟机名 -Server 服务器名 -Wait -Force
-Force 虚拟机关机时,会进一步弹出选项"是否确实要执行此操作?"。加该参数后不会现提示,直接选择默认值[Y]
其余参数与Start-VM类似。
示例:
Stop-VM testvps 给testvps关机,运行后会弹出提示,按Y后继续
Stop-VM testvps -Force 直接给testvps关机,不弹出提示
Start-VM testvps -Wait -Force ; Stop-VM testvps 先给testvps关机再给testvps开机,这里必须用-Wait,否则第二条命令会报错,结果只关不开
Get-VM -Running | Stop-VM -Wait 逐个停止服务器上所有运行中的
3.Invoke-VMShutdown 虚拟机关闭(关闭虚拟机中的Windows系统后再关机。该命令在Powershell V1版本中的命令名称为Shutdown-VM,两者等价)
Shutdown-VM -VM 虚拟机名 -Server 服务器名 -Wait -Force
参数与Stop-VM类似。
如果Hyper-V没有登录进本地桌面的话,不能使用该命令关闭。
示例:
Shutdown-VM testvps -Force 给testvps关闭系统关机,不弹出提示
4.Save-VM 虚拟机保存(保存虚拟机的当前状态。该命令在Powershell V1版本中的命令名称为Suspend-VM,两者等价)
Save-VM -VM 虚拟机名 -Server 服务器名 -Wait -Force
参数和使用与Start-VM和Stop-VM类似。
示例:
Save-VM testvps 将testvps保存状态
5.Export-VM 导出虚拟机
Export-VM -VM 虚拟机名 -Path 导出的路径 -Server 服务器名 -CopyState -Wait -Preserve -Force
-Path 指定虚拟机导出到的位置
-CopyState 该参数很重要,加了该参数时,导出完整的虚拟机信息,相当于管理界面中使用导出。如果不加只导出配置文件。
-Preserve 由于导出的配置文件在导入后即消失,加该参数可以创建一个importFiles.zip文件来保存该配置文件。
其余参数与Start-VM类似。
示例:
Export-VM testvps F:\vmbak -CopyState 导出虚拟机到F:\vmbak目录下
6.Get-VM 获得虚拟机对象,以便做其他操作
Get-VM -Name 虚拟机名 -Server 服务器名 -Suspended -Running -Stopped
-Name 虚拟机名称,用户按名称获得对应虚拟机对象。如果想要选择所有虚拟机,可以用"%"号或"*"号通配符
-Server 指定虚拟机所在物理服务器,留空的话默认为".",即本机。
-Suspended 只获得处于"已保存"状态的虚拟机
-Running 只获得处于"正在运行"状态的虚拟机
-Stopped 只获得处于"关闭"状态的虚拟机
示例:
save-vm (get-vm -Running ) -force 将所有运行状态的虚拟机保存
start-vm (get-vm -Suspended) 将所有保存状态的虚拟机恢复运行
7.Get-VMMemory 查看虚拟机内存信息
Get-VMMemory -VM 虚拟机名 -Server 服务器名
示例:
Get-VMMemory 显示所有虚拟机的内存信息
8.Get-VMCPUCount 查看虚拟机CPU设置信息
9.Get-VMDisk 查看虚拟机硬盘信息
Hyper-V补充命令
1.Set-VMState 改变虚拟机状态,相当于start、stop等操作的集合
Set-VMState -VM 虚拟机名 -State 要设置的状态 -Server 服务器名 -Wait -Force
-State 需要设置到的状态,"正在运行"为Running、"关闭"为stopped、"已保存"为Suspended、
其余参数与Start-VM类似。
示例:
Set-VMState testvps Running 相当于Start-VM
Set-VMState testvps Stopped 相当于Stop-VM
Set-VMState testvps Suspended 相当于Save-VM
2.Import-VM 导入虚拟机,这里暂不介绍,建议使用管理界面导入
3.Get-VMBuildScript(导出一个虚拟机创建脚本)
Get-VMBuildScript -VM 虚拟机名 -Server 服务器名
导出的脚本会直接显示在PowerShell窗口中,可以用来创建一个与被导出虚拟机一样配置的新虚拟机,但该脚本只在配置信息中添加,硬盘文件等不会新建。并且该脚本经常有问题,导出的脚本再运行后不一定能完全还原到原样。
例如,如果虚拟机硬件中有旧版网络适配器,那么在导出脚本时在Add-VMNic命令这里会报错:"无法对空数组进行索引。",原因可能是因为,Get- VMNic命令中的-GUID参数对旧版网卡无效,而该命令导出时都有GUID参数,因此该步时会出错,不会导出旧版网卡的配置。这可能是作者的小失误。
4.New-VM 创建新虚拟机,这里暂不介绍,建议使用管理界面创建