我想为这个相当冗长的命令添加别名,Remove-WebApplication -Name portal -Site "Default Site"
但是当我尝试时:
Set-Alias RemPortal Remove-WebApplication -Name portal -Site "Default Site"
我收到错误:
A positional parameter cannot be found that accepts argument 'Remove-WebApplication'
。
我尝试使用-Name
参数标签,但 PS 抱怨说-Name
在一个命令中使用了两次。
答案1
Set-Alias 命令不支持向您的命令添加参数,因为 PowerShell 会将其解释为 Set-Alias 的参数,而不是将其解析为别名。
相反,您需要创建一个函数,从那里调用新命令,然后使用 Set-Alias 为该函数赋予新名称。
例如:
PS> Function remove-webapplication-params {Remove-WebApplication -Name portal -Site "Default Site"}
PS> Set-Alias -Name RemPortal -Value remove-webapplication-params
另请参阅以下列出的示例 5:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/set-alias?view=powershell-7