2

场景的简短说明。

我正在使用New-ModuleCmdLet 制作一个对象。像这样的东西:

$object = New-Module -Name 'Logger' {
    New-Variable -Name level -Value 200 -Option Constant
    Function log($msg) { Write-Host "$($script:level): $msg" }
    Export-ModuleMember -Variable * -Function *
} -AsCustomObject

$object.log("New user")

我正在使用该方法创建一个对象,因为它是(我所了解的)唯一可以为我提供对象常量基于注释的函数帮助的方法。但是,我想向整个 ScriptBlock 或 Module 添加注释,以便在我这样做时Get-Help $object获得帮助文本。我尝试在 Scriptblock 的开头放置一个基于注释的帮助文本:

$object = New-Module -Name 'Logger' {
<#
    Helpful info.
#>
    New-Variable -Name level -Value 200 -Option Constant
    Function log($msg) { Write-Host "$($script:level): $msg" }
    Export-ModuleMember -Variable * -Function *
} -AsCustomObject

它创建对象,但通过 Get-Help 运行它只会给我 Get-Help 的帮助文本。

有没有更好的方法来做到这一点或我想念的东西。还是没有这样的能力?

4

1 回答 1

2

about_{your-module-name}.txt没有创建文件的模块没有顶级帮助。尝试获取有关 PSWorkflow 或 PSScheduledJob 或任何其他模块的帮助。唯一要做的就是列出命令,除非模块有 about_ 主题。当您为该模块执行“Get-Help Pscx ”时,您将获得 about_pscx.txt 主题。该机制通过将 about_topic 文件放在相关模块文件旁边来工作。不确定这对于您正在创建的动态模块如何工作。

于 2013-11-06T21:13:57.470 回答