Я столкнулся с проблемой при использовании оснасток Vmware PowerCLI и System Center Virtual Machine Manager для PowerShell.Они оба содержат одноименные командлеты, такие как «Get-VM» и «Get-VMHost».Похоже, что последняя оснастка для загрузки выигрывает, поэтому я добавил в свой скрипт логику для загрузки и разгрузки оснастки, когда мне нужно было получить данные VMware или Hyper-V.Я хотел бы знать, есть ли какой-нибудь способ предотвратить это противоречие или иным образом создать какой-то уникальный дескриптор для одного командлета, в то же время позволяя другому загружать и работать как предполагалось?
И для любого, кто ищет фактическое пространство имен / префикс для командлетов VMware vSphere PowerCLI snapin, это:
VMWare.VimAutomation.Core
Следовательно, реальный префикс для приведенного выше примера:
VMware.VimAutomation.Core\Get-VM
Лучший способ при использовании оснасток - полностью указать имя командлета с именем оснастки. Например, если имя оснастки для PowerCLI - PowerCLI, используйте:
PowerCLI\Get-VM
Для оснастки SCVMM используйте его имя в качестве префикса. Чтобы увидеть имена оснасток, выполните:
Get-PSSnapin -Registered