PowerShell 管理单元之间的 Cmdlet 争用

发布于 2024-09-13 07:17:09 字数 286 浏览 8 评论 0原文

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

I ran into an issue while using both the Vmware PowerCLI and System Center Virtual Machine Manager snap-ins for PowerShell. They both contain similarly named cmdlets, like 'Get-VM' and 'Get-VMHost'. It appears that the last snap-in to load wins, so I added logic in my script to load & un-load the snap-in when I needed to get either VMware data or Hyper-V data. I'd like to know if there is any way to prevent this contention, or otherwise create some unique handle to one cmdlet, while still allowing the other to load & operate as intended?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暗地喜欢 2024-09-20 07:17:09

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

PowerCLI\Get-VM

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

Get-PSSnapin -Registered

The best approach when using snapins is to fully qualify the cmdlet name with the snapin name. For instance, if the snapin name for PowerCLI is PowerCLI then use:

PowerCLI\Get-VM

For the SCVMM snapin use it's name as a prefix. To see the snapin names, execute:

Get-PSSnapin -Registered
贪了杯 2024-09-20 07:17:09

对于任何搜索 VMware vSphere PowerCLI snapin cmdlet 的实际命名空间/前缀的人来说,它是:

VMWare.VimAutomation.Core

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

VMware.VimAutomation.Core\Get-VM

And for anyone searching for the actual namespace/prefix for VMware's vSphere PowerCLI snapin cmdlets, it's:

VMWare.VimAutomation.Core

Hence the real prefix for the example above is:

VMware.VimAutomation.Core\Get-VM
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文