什么是这些Cmdlet之间的区别?

时间:2012-09-08 11:19:35

标签: powershell

在PowerShell 3中,如果要搜索命令,可以使用两者,Get-Help Get- *和Get-Command Get- *都可以工作?

那么主要区别是什么?

2 个答案:

答案 0 :(得分:2)

两个命令共享许多共同的信息,但主要区别在于Get-Help输出MAML对象(“基于文本”,容易出错,甚至可能过时)Get-Command获得你真实的对象(元数据),你可以进一步调查。

对于大多数帮助部分,Get-Help正在显示包含在XML文件中的预制帮助。 对于其他部分,Get-Help“正在使用”Get-Command生成信息,如语法部分。

Get-Command还可以获取Get-Help不具备的信息,例如命令的模块,它的DLL路径(如果是编译的cmdlet),参数集等等。

一个不是另一个的替代品,你在不同情况下都使用它们。

答案 1 :(得分:1)

我想到的方式是 - Get-Command返回有关命令的技术信息(DLL,实现类型,函数的函数体等),Get-Help返回用户友好的有关命令的信息(详细语法,示例,参数说明等)。

并且Get-Command返回一个普通对象,其行为完全正常且可预测,而Get-Help返回一个奇怪的格式化帮助对象,该对象实际上仅用于在控制台中查看,而不是用于代码处理。