2010-08-05 57 views
0

我在使用PowerShell的Vmware PowerCLI和System Center Virtual Machine Manager管理單元時遇到了一個問題。它們都包含類似命名的cmdlet,如「Get-VM」和「Get-VMHost」。看起來最後一個加載管理單元獲勝了,所以當我需要獲取VMware數據或Hyper-V數據時,我在腳本中添加了邏輯以加載&卸載管理單元。我想知道是否有任何方法可以阻止此爭用,或者以其他方式爲一個cmdlet創建一些獨特的句柄,同時仍允許另一個加載&按預期運行?Cmdlet PowerShell SnapIns之間的爭用

回答

2

使用管理單元時的最佳方法是使用管理單元名稱完全限定cmdlet名稱。舉例來說,如果PowerCLI的該管理單元名稱是PowerCLI的再使用:

PowerCLI\Get-VM 

對於SCVMM管理單元使用它的名稱作爲前綴。要查看該管理單元的名稱,執行:

Get-PSSnapin -Registered 
2

而且對任何人尋求對VMware的vSphere PowerCLI的管理單元的cmdlet的實際命名空間/前綴,它是:

VMWare.VimAutomation.Core 

因此,對於例如真正的前綴以上:

VMware.VimAutomation.Core\Get-VM