将import-module与PowerShell PSSnapin Dll一起使用

时间:2016-01-07 16:04:07

标签: powershell powershell-module import-module pssnapin

我们有一个传统的PowerShell PsSnapin(c#)。我想避免使用InstallUtil。以下导入导出PSSnapin cmdlet的模块:

import-module .\MySnapin.dll

但是,当我运行模块cmdlet时,由于无法找到引用的程序集(特别是Enterprise Library dll),它们会失败。

有没有一种巧妙的方法让这个工作?

(PsSnapin dll和所有引用的程序集都在同一个构建目录中,当我使用installutil时,依赖项都被正确解析)

1 个答案:

答案 0 :(得分:0)

管理单元与模块略有不同。您首先需要使用InstallUtil.exe注册管理单元:

PS> $InstallUtil = Join-Path $([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()) "InstallUtil.exe"
PS> & $InstallUtil "C:\Path\to\MySnapin.dll"

注册snapin程序集后,您可以使用Add-PSSnapin将其加载到PowerShell会话中:

PS> Add-PSSnapIn MySnapin