为了简化我们当前的设置。我们有 SRV01、SRV02 和 SRV03。所有安装了 Hyper-V 并加入我们域的 Windows Server 2016。SRV01 托管一个共享文件夹“\\SRV01\VM-ONLINE-STORAGE\Test” 同一网络子网上的所有服务器,并且它们的 Windows 防火墙已关闭。
我的目标是使用从 SRV02 到 SRV03 的 Powershell 远程创建一个新的虚拟机,并使用网络共享文件夹进行虚拟机存储。
开启 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\"
成功。
我错过了什么?
我把它修好了。它与 AD 委托权限有关。
下面的网页帮助我解决了这个问题。
https://argonsys.com/microsoft-cloud/library/hyper-v-authentication-in-windows-server-2016-for-managing-remote-hyper-v-servers-through-rsat/