如何使用模块清单导出PowerShell模块别名?

Tom*_*Tom 6 powershell module manifest powershell-2.0

我有一个具有多种功能的模块.

由于我以非PowerShell方式命名它们,我想重命名它们.但是由于模块已经在使用中,我想保留旧的函数名称.

实现这一目标的最佳方法似乎是使用别名.我已经有一个模块清单,其中说明:

AliasesToExport = '*'
Run Code Online (Sandbox Code Playgroud)

所以我在模块中创建了一个别名New-Alias -Name test -Value oldFunctionName.

功能像往常一样导入,但别名不存在.

我知道我可以使用模块中的Export-ModuleMember.但我有一个已经应该照顾的清单.

所以最后我的问题是:

为什么不通过清单导出别名?

函数本身是否有特殊的位置,我可以或者必须定义别名?或者我是否必须在特殊地方使用New-Alias cmdlet?

我在考虑像参数别名这样的东西:

[parameter(Mandatory=$true, Position=0)][Alias("name","path")][String]$filename
Run Code Online (Sandbox Code Playgroud)

但对于功能而言.

Tom*_*Tom 6

似乎没有我想要的解决方案.

所以我不得不使用Export-ModuleMember

Export-ModuleMember -Function * -Alias *
Run Code Online (Sandbox Code Playgroud)

起初我只使用参数"Alias",因为函数被正确导出,这要归功于清单(FunctionsToExport ="*"),但只是导出了别名.

因此,请确保使用Export-ModuleMember cmdlet导出要导出的所有内容.