这些PowerShell脚本可以帮助您从脚本中打开、关闭和保存客户会话。当您试图打开一系列客户会话时(可能是在演示系统上,或者如果您有一个DR站点,您想一次启动一系列客户会话),这将非常有用。或者如果你想关闭一些会话(或保存一些会话),而不需要逐个手动“关闭”或保存会话。
这里有3个脚本,你会改变报价的信息(即:“32-Guest会话3”,“32-Guest会话2”,“32-Guest会话1”,等等)来匹配你的名字HyperV客人会议(因为它出现在HyperV控制台(不是实际的VHD文件名称),但专门为它命名)。与PowerShell中的任何东西一样,#只是一个注释行,而$ items是变量,因此我可以在脚本的开头命名一个变量,并在脚本的后面重用该变量。
这是3个不同的脚本,应该分别保存,然后根据你想要的进程(start, save, poweroff)运行。博客上的换行符螺丝的一些线路,但实际上每一行脚本开始#(评论),美元(变量),或读或写,所以如果你只是确保换行符集合内容逻辑上每行和每一行开始上述指出的那样,你应该好脚本…
STARTVMs。PS1# get-wmiobject标识来宾会话
# the requeststatechange (2) turns on the session (3 power off, 4 shutdown, 32769 save) #打开会话
# the |out-null suppress the "return values" (cco-rhm)
#代替read-host,可以为anykey做$null = $ host . ui . raui . readkey ("NoEcho,IncludeKeyDown"),但我喜欢具体的"return key"作为选项
# readkey函数在ISE中没有显示,但实际上可以工作
$vm=get-wmiobject -namespace root\virtualization -class msvm_computersystem |elementname -eq "32-Guest Session 1"}
write-host -前台Green "Starting VM $($VM. elementname) now"
美元vm.requeststatechange (2) | out-null
Read-host "Press Enter to Start剩余图像"
$vm=get-wmiobject -namespace root\virtualization -class msvm_computersystem |elementname -eq "32-Guest Session 2"}
write-host -前台Green "Starting VM $($VM. elementname) now"
美元vm.requeststatechange (2) | out-null
$vm=get-wmiobject -namespace root\virtualization -class msvm_computersystem |elementname -eq "32-Guest Session 3"}
write-host -前台Green "Starting VM $($VM. elementname) now"
美元vm.requeststatechange (2) | out-null
SAVEVMS。PS1# get-wmiobject标识来宾会话
# the requeststatechange (2) turns on the session (3 power off, 4 shutdown, 32769 save) #打开会话
# the |out-null suppress the "return values" (cco-rhm)
#代替read-host,可以为anykey做$null = $ host . ui . raui . readkey ("NoEcho,IncludeKeyDown"),但我喜欢具体的"return key"作为选项
# readkey函数在ISE中没有显示,但实际上可以工作
$vm=get-wmiobject -namespace root\virtualization -class msvm_computersystem |elementname -eq "32-Guest Session 3"}
write-host -前台Green "Saving VM $($VM. elementname) now"
美元vm.requeststatechange (32769) | out-null
$vm=get-wmiobject -namespace root\virtualization -class msvm_computersystem |elementname -eq "32-Guest Session 2"}
write-host -前台Green "Saving VM $($VM. elementname) now"
美元vm.requeststatechange (32769) | out-null
Read-host "Press Enter to Save Main GC Image"
$vm=get-wmiobject -namespace root\virtualization -class msvm_computersystem |elementname -eq "32-Guest Session 1"}
write-host -前台Green "Saving VM $($VM. elementname) now"
美元vm.requeststatechange (32769) | out-null
# get-wmiobject标识来宾会话PowerOffVMs。PS1
# the requeststatechange (2) turns on the session (3 power off, 4 shutdown, 2 save)打开会话
$vm.requeststatechange $vm.requeststatechange $vm.requeststatechange $vm.requeststatechange
#正如我现在所做的,VM只是快速关机,而不是像“关机”状态那样干净利落。
# the |out-null suppress the“返回值”
$vm=get-wmiobject -namespace root\virtualization -class msvm_computersystem |elementname -eq "32-Guest Session 3"}
write-host -前台Green "下电VM $($VM. elementname) now"
美元vm.requeststatechange (3) | out-null
$vm=get-wmiobject -namespace root\virtualization -class msvm_computersystem |elementname -eq "32-Guest Session 2"}
write-host -前台Green "下电$($VM.ElementName) now"
美元vm.requeststatechange (3) | out-null
$vm=get-wmiobject -namespace root\virtualization -class msvm_computersystem |elementname -eq "32-Guest Session 1"}
write-host -前台Green "下电$($VM.ElementName) now"
美元vm.requeststatechange (3) | out-null