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