Powshell二进制模块

本文关键字:模块 二进制 Powshell | 更新日期: 2023-09-27 18:18:24

我有一个powershell模块,它的基类派生自cmdlet,我所有的cmdlet都派生自它。Import-module不能看到任何间接从cmdlet派生的类。我需要添加一个清单来支持这个结构吗?

Powshell二进制模块

很可能是以下两个问题之一:

  • 类不是public
  • 类没有用[CmdletAttribute]装饰

这是一个最小的,正常运行的cmdlet:

[Cmdlet(Verb = VerbsCommon.Get, Noun = "Answer")]
public class GetAnswerCommand : PSCmdlet {
    public override void EndProcessing() {
        WriteObject(42);
    }
}

使用import-module-verbose来查看可见的信息。对于二进制模块,您不需要清单(psd1)。

您是否将模块放在$env:PSModulePath中?

Import-Module将只看到放置在上述路径的模块。可选地,您可以将模块的路径添加到$env:PSModulePath