我想隐藏自定义后面的Group-Object
cmdlet,以便用户无法了解cmdlet返回的对象类型。所以当我这样做时:
$(Get-A;Get-B) | Group Result
其中'Result'是Get-A
和Get-B
输出到管道的对象类型,是我想要组合在一起的对象。
我在.NET中使用PowerShell cmdlet来创建自定义cmdlet。
这个电话可以看起来像这样吗? :
$(Get-A;Get-B) | Get-Combine
其中Get-Combine
和Group完全一样吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
作为JPBlanc mentions,您可以通过扩展现有cmdlet的功能来使用代理功能。但是我觉得你要找的东西比较简单。如果要替换cmdlet的功能,我能想到的最简单的方法就是使用相同的名称。
TechNet文章about_Command_Preferences介绍了其工作原理。
如果未指定路径,Windows PowerShell将使用以下命令 运行命令时的优先顺序:
- 别名
- 功能
- Cmdlet
- 原生Windows命令
因此,您只需要使用相同的名称创建自己的函数,就像它出现在cmdlet之前的列表中一样,然后完成它。
PS C:\Users\mcameron> function Get-ChildItem{"uh uh uh… I thought of that one, too, Better try again"}
PS C:\Users\mcameron> gci
uh uh uh… I thought of that one, too, Better try again