4

我正在为我的应用程序编写自定义 Powershell cmdlet,我需要为某些 cmdlet 提供别名。因此,假设我有 cmdlet Get-DirectoryListing,并且我想将别名(比如“gdl”)添加到此 cmdlet。我怎样才能做到这一点?

AliasAttribute 在这里不起作用,因为它仅适用于属性、索引器或字段声明。另外我知道我们可以使用 Set-Alias 命令,但不知道放在哪里。

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

4

1 回答 1

3

您需要创建一个 psm1 文件(powershell 模块),在其中使用您的 cmdlet 指定您的 dll,以便以这种方式加载和添加别名:

在您的模块文件夹中(Get-ModuleFolder如果您有更多的默认文件夹,请列出所有文件夹,在我的示例中,我使用第一个)创建一个与您的 .dll 具有相同名称的文件夹 和一个包含以下内容的SameNameOfYourDll.psm1

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

对于更多的提余模块构建,还请查看模块清单

模块清单是带有自定义 cdmlets 的 .dll 的首选方式

于 2012-11-27T12:58:08.577 回答