【发布时间】:2020-07-14 10:12:44
【问题描述】:
亲爱的,
为了简化我们当前的设置。我们有 SRV01、SRV02 和 SRV03。所有安装了 Hyper-v 并加入我们域的 Windows Server 2016。 SRV01 托管一个共享文件夹“\\SRV01\VM-ONLINE-STORAGE\Test” 同一网络子网中的所有服务器,并且它们的 Windows 防火墙已关闭。
我的目标是使用 Powershell 从 SRV02 到 SRV03 远程创建一个新的 VM,并使用网络共享文件夹进行 vm 存储。
开启 SRV02
New-vm -ComputerName SRV03 -MemoryStartupBytes 1GB -NoVHD -Generation 2 -Name TEST1 -Path "\\SRV01\VM-ONLINE-STORAGE\Test\"
我收到以下错误
New-vm : Failed to create a new virtual machine.
At line:1 char:1
+ New-vm -ComputerName SRV03 -MemoryStartupBytes 1GB -NoVHD -Generat ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-VM], VirtualizationException
+ FullyQualifiedErrorId : OperationFailed,Microsoft.HyperV.PowerShell.Commands.NewVM
起初,我认为这与缺少权限有关。所以我在 SRV02 和 SRV03 上测试了以下,它工作得很好。
开启 SRV02 和 SRV03
New-Item -Path "\\SRV01\VM-ONLINE-STORAGE\Test\" -Name "testing" -ItemType "directory"
文件夹创建成功。所以不需要额外的权限,因为我使用的是域管理员帐户,这是所有服务器上的本地管理员。
使其远程工作的唯一方法是使用位于 SRV03 上的本地文件夹路径。
开启 SRV02
New-vm -ComputerName SRV03 -MemoryStartupBytes 1GB -NoVHD -Generation 2 -Name TEST1 -Path "D:\Storage\"
这很好用,但我们需要使用网络路径。我如何做到这一点?
请注意,当命令在 SRV03 上本地发出时,它可以工作。
开启 SRV03
New-vm -ComputerName SRV03 -MemoryStartupBytes 1GB -NoVHD -Generation 2 -Name TEST1 -Path "\\SRV01\VM-ONLINE-STORAGE\Test\"
成功。
我错过了什么?
【问题讨论】:
-
这个问题在 Stack Overflow 上是题外话,因为它是关于 VM 管理,而不是编程。请尝试使用 ServerFault。
标签: powershell virtual-machine hyper-v hypervisor