我想将Group-Object cmdlet隐藏在一个自定义的cmdlet后面,这样用户就不会知道cmdlet返回的对象类型。所以当我这样做的时候:
$(Get-A;Get-B) | Group Result其中'Result‘是Get-A和Get-B输出到管道的对象类型,也是我想要组合在一起的对象类型。
我在.NET中使用powershell cmdlet创建自定义cmdlet。
调用可以像这样吗?:
$(Get-A;Get-B) | Get-CombineGet-Combine在哪里做了与Group完全相同的事情?
发布于 2015-10-19 20:08:47
我认为你可以使用代理函数来做到这一点。
您可以找到由Shay Levy或Don Jones编写的关于这些函数的文章。
发布于 2015-10-19 20:22:00
作为JPBlanc mentions,您可以通过扩展现有cmdlet的功能来使用代理函数。然而,我觉得你要找的东西更简单。如果您想要替换cmdlet的功能,我能想到的最简单的方法就是使用相同的名称创建自己的cmdlet。
TechNet文章about_Command_Preferences介绍了这是如何工作的。
如果不指定路径,following在运行命令时将使用以下优先顺序:
因此,您只需使用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 againhttps://stackoverflow.com/questions/33212363
复制相似问题