为了简化我们当前的设置。我们有 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\"
成功。
我错过了什么?
答案1
我已经修复了。这与 AD 委派权限有关。
以下网页帮助我解决了该问题。