Зарегистрируйте Powershell SnapIn для конкретной версии Powershell
Я пытаюсь запустить сценарий командной консоли Exchange через управляемый код. Наша версия PowerShell - версия 4. Я пытаюсь использовать runspaceConfiguration.AddPSSnapin()
способ добавить обмен SnapIn Microsoft.Exchange.Management.Powershell.E2010
Однако эта строка не работает, давая:
никакие оснастки не были зарегистрированы для Powershell версии 4.
Быстрый Get-PSSnapIn -registered
показывает, что SnapIn установлен, но зарегистрирован в PS версии 1.
В regEdit я нашел раздел реестра для оснастки для PowerShell v1, использовал функцию экспорта для сценария ключа, изменил целевую версию на 4 и запустил команду экспорта, которая, как и ожидалось, создала новый ключ '4' в PowerShell., с деталями оснастки, скопированными поперек. Однако я все еще получаю "никакие оснастки не были зарегистрированы для Powershell версии 4.", хотя ключ есть в реестре.
Что еще я должен сделать, чтобы зарегистрировать оснастку в PowerShell версии 4?
Спасибо за ваше время.
1 ответ
Вы правы в том, что это проблема сборки 32/64 бит. После того, как я установил целевую сборку на x64 в VS и перераспределил, все волшебным образом, казалось, работало нормально. Сообщение об ошибке, касающееся версий Powershell, в данном случае представляет собой крупную красную сельдь.