【发布时间】:2016-03-17 17:30:17
【问题描述】:
我在各种脚本上调用Get-Help ... -Full 以确定运行脚本所需的参数。然后会显示一个动态表单供用户填写。
我注意到Get-Help 并不总是返回相同的结构,即一些脚本返回
NAME
....
SYNOPSIS
SYNTAX
....
DESCRIPTION
...
PARAMETERS
而其他人则简单地返回
test2.ps1 [[-foo] <String>] [[-bar] <String>]
我开始从PSObject检索此信息:
PSObject p = (PSObject)results[0].Properties["Parameters"].Value;
foreach (var info in p.Properties)
{
var b = (PSObject[])info.Value;
foreach ( var c in b)
{
Console.WriteLine(c.Properties["name"].Value);
}
}
但这会因第二种结果而失败。
有没有更常用的方法来检索我忽略的这些信息?
【问题讨论】:
-
输出的不同是因为显示扩展信息的脚本有comment-based help,而其他的只是启用了
[CmdletBindings()]。
标签: c# powershell