我正在编写 powerCLI 脚本,但遇到了一个奇怪的行为。
我使用 connect-VIserver[电子邮件保护]帐户连接到我的 VCSA 6.7 U2 服务器。如果我使用不带任何参数的 Get-VM cmdlet,它会毫无问题地返回所有虚拟机。然后我会得到特定 ESXi 主机上的虚拟机列表。但是当我启动:Get-VM -Location“esxi 服务器名称”时,它只返回一个结果(该主机上存在的 25 个虚拟机),然后出现错误。
PowerCLI C:\> Get-VM -Location $sum
Name PowerState Num CPUs MemoryGB
---- ---------- -------- --------
GIUDECCA PoweredOn 4 16,000
Get-VM : 05/12/2019 16:07:43 Get-VM Eccezione generata dalla destina
zione di
una chiamata.
At line:1 char:1
+ Get-VM -Location $sum
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-VM], VimException
+ FullyQualifiedErrorId : Core_BaseCmdlet_UnknownError,VMware.VimAutomatio
n.ViCore.Cmdlets.Commands.GetVM
正如您在我发布的代码中看到的,我尝试使用带有变量的参数,使用 Get-VMHost -Name“esxi 服务器名称”。但出现同样的错误。我做错了什么?
操作系统 Windows 7 Powershell 5.1 PowerCLI 6.5
答案1
好的,我找到了解决方案,可能是安装的版本不兼容。我打开了 Powershell 并从 PSGallery 安装了 powercli 模块。现在它可以正常工作了。