【发布时间】:2018-02-25 03:16:10
【问题描述】:
我为它创建了一个 PowerShell 模块 MyUtil.psm1 和一个清单文件 MyUtil.psd1。在 psd1 文件中,它定义了前缀以防止导出函数的名称冲突:
DefaultCommandPrefix = 'MyToolbox'
这样,运行Import-Module .\MyUtil.psd1后,psm1文件中Get-Command之类的函数就会变成Get-MyToolboxCommand,一切正常。但是如果有人运行Import-Module .\MyUtil.psm1直接导入psm1文件,psd1文件根本就不用,我想要的前缀也不会应用。
如果我想阻止这种情况(直接导入 MyUtil.psm1),有没有办法仅允许导入相应的 psd1 清单文件而不是 psm1 文件?或者以编程方式检测此模块不是通过 psd1 导入的,因此我可以警告用户使用 psd1?
【问题讨论】:
-
@wp78de 谢谢!请在您的帖子中查看我的评论。我还在帖子里加了几句,希望能让我的问题更清楚。
-
我不这么认为。没见过这个。
标签: powershell powershell-module import-module