How To:配置Hyper-V虚拟机文件存储路径
昨天收到邮件有人问这个问题,今天来帮忙解答一下。大家都知道Hyper-V装好之后默认新建虚拟机有以下2个存储路径:
- 虚拟磁盘文件默认存放路径——“UsersPublicDocumentsVirtual Hard Disks”
- 虚拟机配置文件默认存放路径——“ProgramDataMicrosoftWindowsVirtualization”
- 除了通过图形界面进行设置外,我们还可以通过以下PowerShell脚本来进行配置:
#=======================================================================
#
# Microsoft PowerShell
#
# NAME: Set Hyper-V Paths
#
# AUTHOR: Billy Fu
#
# DATE : 2010/8/3
#
#=======================================================================
Function ProcessResult($result, $successString, $failureString)
{
if ($result.ReturnValue -eq 0)
{Write-Host $successString}
ElseIf ($result.ReturnValue -ne 4096)
{write-host $failureString " 错误值:" $result.ReturnValue}
Else
{
$job=[WMI]$result.job
while ($job.JobState -eq 3 -or $job.JobState -eq 4)
{write-host $job.PercentComplete "% 完成"
start-sleep 1
$job=[WMI]$result.job}
if ($job.JobState -eq 7)
{write-host $successString}
Else
{write-host $failureString
write-host "错误代码:" $job.ErrorCode
write-host "错误描述" $job.ErrorDescription}
}
}
$HyperVServer = Read-Host "指定要配置的Hyper-V服务器 (输入'.'代表本机)"
$vmms = gwmi -namespace rootvirtualization Msvm_VirtualSystemManagementService -computername $HyperVServer
$vmmsSettings = gwmi -namespace rootvirtualization Msvm_VirtualSystemManagementServiceSettingData -computername $HyperVServer
Write-host "当前虚拟机配置文件存放路径为:"
write-host " - " $vmmsSettings.DefaultExternalDataRoot
Write-Host
Write-host "当前虚拟存盘文件存放路径为:"
write-host " - " $vmmsSettings.DefaultVirtualHardDiskPath
write-host
$vmmsSettings.DefaultExternalDataRoot = Read-Host "指定新的虚拟机配置文件存储路径"
$vmmsSettings.DefaultVirtualHardDiskPath = Read-Host "指定新的虚拟磁盘文件存放路径"
$result = $vmms.ModifyServiceSettings($vmmsSettings.GetText(1))
ProcessResult $result "成功设置新路径." "设置新路径失败."

最近评论