如何使用模块清单导出PowerShell模块别名?
|
我有一个具有多种功能的模块。
由于我已经以非PowerShell方式命名了它们,因此我想重命名它们。但是由于该模块已经在使用中,所以我想保留旧的函数名称。
实现此目的的最佳方法似乎是使用别名。我已经有一个模块清单,其中指出:
AliasesToExport = \'*\'
所以我在模块中用created1ѭ创建了一个别名。
函数照常导入,但别名不存在。
我知道我可以在模块中使用Export-ModuleMember。但是我有一个清单,应该已经注意了。
所以这终于是我的问题:
为什么别名不通过清单导出?
函数本身是否有一个特殊的地方,可以或必须定义一个别名?还是我必须在特殊的地方使用New-Alias cmdlet?
我在想类似参数别名的东西:
[parameter(Mandatory=$true, Position=0)][Alias(\"name\",\"path\")][String]$filename
但是对于功能代替。
没有找到相关结果
已邀请:
3 个回复
甲车劲
起初,由于清单(FunctionsToExport = \“ * \”)正确地导出了函数,因此我仅使用参数\“ Alias \”,但是仅导出了别名。 因此,请确保使用Export-ModuleMember cmdlet导出要导出的所有内容。
门锑腺潮
在尝试此操作时,我发现一些令我感到惊讶的东西。我在模块中有一个函数,目的是创建别名。我很惊讶地看到,当我使用此功能时(在导入模块之后),它创建的别名与模块相关联。如果删除模块,则使用此函数创建的所有别名也将消失。
桑娠贯涤
对于
,您可以看到以下内容:
我可能是错的,但是据我理解,ѭ6可以用于限制导出的别名,但是句子\“ New-ModuleManifest创建的AliasesToExport键值为*(全部),这意味着模块导出的所有别名由清单导出”对我来说意味着您必须在模块中导出别名。