如何在不安装管理单元的情况下将PSCmdlet或PSSnapin添加到托管的Powershell运行时

时间:2011-10-17 13:11:48

标签: powershell cmdlet

我的情况如下。

  • 我通过网络用户界面上传我的dll。
  • 我在ASP.NET应用程序中托管PowerShell运行空间。
  • I DLL包含PSCmdlet,并希望使用它。
  • PSCmdlet只需要在托管的运行空间中可访问,而不需要 用于任何外部场景。
  • 应用程序无法访问Windows注册表,因为它以有限的权限运行,因此我无法安装PsSnapin。

我可以在不经过安装过程的情况下使用命令行开关吗?

2 个答案:

答案 0 :(得分:1)

如果您的用例很简单,那么就有可能。请参阅以下问题:Hosted PowerShell cannot see Cmdlets in the same Assembly。那里的几个答案提供了不同的方法,选择一个效果更好或者你更喜欢的方法。

答案 1 :(得分:0)

如果您使用PowerShell V2,则可以使用未注册的管理单元作为二进制模块。

Import-Module ‹path-to-dll›

添加-passthru以获取描述该模块的PSModuleInfo参考。