2016-05-26 123 views
0

我运行PowerShell的一些代码,获取最新的TFS分支标签,像这样探索PowerShell的输出属性名称

tf labels /owner:LBLD_V3_R10* | Select-Object -Last 1 

现在有没有办法,我可以看到哪些属性在返回的对象?

我知道Get-Member,但它似乎将返回的PS Object视为字符串。

+1

您正在获取字符串集合中的最后一项。你不希望它是一个字符串吗? –

+0

对,但有没有办法将对象分割成属性?返回的标签包含比必要信息更多的信息,我宁愿不要关心子字符串,indexof等。 – andrewb

+2

“tf”命令是可执行文件还是cmdlet?如果它只是一个普通的命令行应用程序,那么它将放入管道的所有内容都是一个字符串,而powershell可以方便地为您分配一串字符串。 'Select-Object'选择最后一行字符串。字符串的位不可用作属性。如果'tf'是一个将一个对象数组放入管道的cmdlet,那么它肯定可以完成。查看'Select-Object'的'-ExpandProperty'参数。 –

回答

2

不,没有简单的方法将字符串视为具有从字符串内容推断出的属性的对象。您将不得不慌张与substring,indexof

这很可能是TFS程序集适合从您的PowerShell脚本直接调用。如果您可以确定这些程序集中的哪个方法可以为您提供与tf labels /owner:LBLD_V3_R10*相同的信息,那么您可以将从该方法返回的集合传送到Select-Object -Last 1,然后拨打Get-Member来弄清楚您还可以执行哪些操作。但这是值得一个全新的问题。