PowerShell 技能连载 - Custom Action for Unknown Commands
每当输入一个无法被 PowerShell 搜索到的命令名时,它都可以通过您定义的自定义操作来扩展命令搜索。
以下是一个快速有趣的示例,演示这个概念:
1 | $ExecutionContext.InvokeCommand.CommandNotFoundAction = |
当运行完以上代码,然后再次运行一个肯定不存在的命令时,您将会听到一个语音提示(假设您的音量是开启的且扬声器已打开)。当 PowerShell 无法找到一个命令,它会查找所有赋值给 CommandNotFoundAction
的脚本块并执行它。
这个点子是用于改进命令发现。例如,您可能会花时间整理一个流行命令列表和发布这些命令的模块名称。然后,您的自定义脚本块会尝试并查找列表中缺失的命令,并让用户知道缺失的模块名——或者甚至自动下载并安装该模块。
不幸的是,自从 PowerShell 提供了该功能之后,社区中并没有人实现了该功能。现在您可能会有兴趣发明一些比上面发出语音更复杂的功能。
PowerShell 技能连载 - Custom Action for Unknown Commands
http://blog.vichamp.com/2023/01/17/custom-action-for-unknown-commands/