长时间堆栈溢出读者,第一次张贴海报。如果我没有正确地提出问题,请原谅我。从PowerShell调用Vix API
我正在尝试在PowerShell中使用VixCOM API。我也没有太多的经验。我知道VMWareTasks: C# VixCOM wrapper library & tools。我已经成功地使用了它,但是由于我目前不想进入的原因,我想直接使用VixCOM API。我最终可能会使用VMWareTasks包装器,但在尝试了解手头的问题时感到幽默。
我的脚本是:
$vixLib = New-Object -ComObject VixCOM.VixLib
$job = $vixLib.Connect(-1, 10, "https://esx-server/sdk", 0, "admin", "password", 0, $null, $null)
当我运行从PowerCLI的这个剧本,我得到一个错误:
Exception calling "Connect" with "9" argument(s): "Type mismatch. (Exception from HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))"
At D:\dev\PowerShell\Automated Deploy\UsingVixCOM.ps1:11 char:23
+ $job = $vixLib.Connect <<<< (-1, 10, "https://esx-server/sdk", 0, "admin", "password", 0, $null, $null)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation
- 哪个参数导致类型不匹配?
- 调用Connect方法的正确方法是什么?
哇,我不知道有人回答。在大约一周没有回应后,我辞职了C#VixCOM包装库。此外,我已转到其他项目,所以我无法验证此答案是否适用于我的方案。不过,我会将其标记为答案,因为这是我知道的唯一合理解决方案。 –