Как добавить PSCmdlet или PSSnapin в размещенную среду выполнения Powershell без установки оснастки - PullRequest
2 голосов
/ 17 октября 2011

Мой сценарий выглядит следующим образом.

  • Я загружаю свою dll через веб-интерфейс.
  • Я размещаю пространство выполнения PowerShell в приложении ASP.NET.
  • I DLL содержит PSCmdlet и хотел бы использовать его.
  • PSCmdlet должен быть доступен только во внутреннем пространстве выполнения и не должен использоваться ни в каком внешнем сценарии.
  • Приложение не имеет доступа к реестру Windows, так как оно работает с ограниченными правами, поэтому я не могу установить PsSnapin.

Могу ли я использовать командлет без прохождения процесса установки?

Ответы [ 2 ]

1 голос
/ 17 октября 2011

Если ваш вариант использования прост, то это возможно.Пожалуйста, посмотрите эти вопросы: Размещенный PowerShell не может видеть командлеты в той же сборке .Несколько ответов там предлагают разные способы, выберите тот, который работает лучше, или вам нравится больше.

0 голосов
/ 17 октября 2011

Если вы используете PowerShell V2, вы можете использовать незарегистрированную оснастку в качестве двоичного модуля.

Import-Module ‹path-to-dll›

добавить -passthru, чтобы получить ссылку PSModuleInfo, которая описывает модуль.

...