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

dig*_*guy 5 powershell alias powershell-cmdlet

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

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

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

CB.*_*CB. 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
Run Code Online (Sandbox Code Playgroud)

有关更多残液模块构建,请参阅模块清单

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