有没有办法以编程方式将Alias添加到Powershell Cmdlet?

时间:2012-11-27 11:48:18

标签: powershell alias cmdlets

我正在为我的应用程序编写自定义Powershell cmdlet,我需要为某些cmdlet提供别名。所以我要说我有cmdlet Get-DirectoryListing,我想在这个cmdlet中添加Alias(比如'gdl')。我怎么能这样做?

AliasAttribute在此处不起作用,因为它仅适用于Properties,Indexers或Field声明。另外我知道我们可以使用Set-Alias命令,但不知道放在哪里。

是否可以以编程方式将多个别名添加到cmdlet?

1 个答案:

答案 0 :(得分:3)

您需要创建一个psm1文件(powershell module),您可以在其中使用您的cmd特定您的dll来加载并以这种方式添加别名:

在你的模块文件夹中(Get-ModuleFolder给出一个列表,如果你有更多的默认值,在我的例子中,我使用第一个)创建一个与.dll同名的文件夹< /强> 以及包含此内容的 SameNameOfYourDll.psm1

Import-module "$((Get-ModulePath)[0])mycustomcmdlet\mycustomcmdlet.dll"
set-alias gdl Get-DirectoryListing -scope Global

对于更多的提余模块构建,请参见module manifest

Module manifest is the preffered way for .dll with custom cdmlets