Конфликт командлетов между оснастками PowerShell - PullRequest
0 голосов
/ 05 августа 2010

Я столкнулся с проблемой при использовании оснасток Vmware PowerCLI и System Center Virtual Machine Manager для PowerShell.Они оба содержат одноименные командлеты, такие как «Get-VM» и «Get-VMHost».Похоже, что последняя оснастка для загрузки выигрывает, поэтому я добавил в свой скрипт логику для загрузки и разгрузки оснастки, когда мне нужно было получить данные VMware или Hyper-V.Я хотел бы знать, есть ли какой-нибудь способ предотвратить это противоречие или иным образом создать какой-то уникальный дескриптор для одного командлета, в то же время позволяя другому загружать и работать как предполагалось?

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

И для любого, кто ищет фактическое пространство имен / префикс для командлетов VMware vSphere PowerCLI snapin, это:

VMWare.VimAutomation.Core

Следовательно, реальный префикс для приведенного выше примера:

VMware.VimAutomation.Core\Get-VM
2 голосов
/ 05 августа 2010

Лучший способ при использовании оснасток - полностью указать имя командлета с именем оснастки. Например, если имя оснастки для PowerCLI - PowerCLI, используйте:

PowerCLI\Get-VM

Для оснастки SCVMM используйте его имя в качестве префикса. Чтобы увидеть имена оснасток, выполните:

Get-PSSnapin -Registered
...