0

我在使用适用于 PowerShell 的 Vmware PowerCLI 和 System Center Virtual Machine Manager 管理单元时遇到了问题。它们都包含名称相似的 cmdlet,例如“Get-VM”和“Get-VMHost”。似乎最后一个加载的管理单元胜出,所以我在脚本中添加了逻辑以在需要获取 VMware 数据或 Hyper-V 数据时加载和卸载管理单元。我想知道是否有任何方法可以防止这种争用,或者以其他方式为一个 cmdlet 创建一些独特的句柄,同时仍然允许另一个按预期加载和操作?

4

2 回答 2

2

对于为 VMware 的 vSphere PowerCLI 管理单元 cmdlet 搜索实际命名空间/前缀的任何人,它是:

VMWare.VimAutomation.Core

因此,上面示例的真正前缀是:

VMware.VimAutomation.Core\Get-VM
于 2011-05-26T12:21:28.870 回答
2

使用管理单元的最佳方法是使用管理单元名称完全限定 cmdlet 名称。例如,如果 PowerCLI 的管理单元名称是 PowerCLI,则使用:

PowerCLI\Get-VM

对于 SCVMM 管理单元,使用它的名称作为前缀。要查看管理单元名称,请执行:

Get-PSSnapin -Registered
于 2010-08-05T03:34:24.770 回答