我正在为我的应用程序编写自定义 Powershell cmdlet,我需要为某些 cmdlet 提供别名。因此,假设我有 cmdlet Get-DirectoryListing,并且我想将别名(比如“gdl”)添加到此 cmdlet。我怎样才能做到这一点?
AliasAttribute 在这里不起作用,因为它仅适用于属性、索引器或字段声明。另外我知道我们可以使用 Set-Alias 命令,但不知道放在哪里。
是否可以以编程方式向 cmdlet 添加多个别名?
我正在为我的应用程序编写自定义 Powershell cmdlet,我需要为某些 cmdlet 提供别名。因此,假设我有 cmdlet Get-DirectoryListing,并且我想将别名(比如“gdl”)添加到此 cmdlet。我怎样才能做到这一点?
AliasAttribute 在这里不起作用,因为它仅适用于属性、索引器或字段声明。另外我知道我们可以使用 Set-Alias 命令,但不知道放在哪里。
是否可以以编程方式向 cmdlet 添加多个别名?
您需要创建一个 psm1 文件(powershell 模块),在其中使用您的 cmdlet 指定您的 dll,以便以这种方式加载和添加别名:
在您的模块文件夹中(Get-ModuleFolder
如果您有更多的默认文件夹,请列出所有文件夹,在我的示例中,我使用第一个)创建一个与您的 .dll 具有相同名称的文件夹
和一个包含以下内容的SameNameOfYourDll.psm1:
Import-module "$((Get-ModulePath)[0])mycustomcmdlet\mycustomcmdlet.dll"
set-alias gdl Get-DirectoryListing -scope Global
对于更多的提余模块构建,还请查看模块清单