2017-04-10 48 views
1

我正在對api運行一個Invoke-RestMethod併爲結果做一個select-object。來自invoke-restmehod的修剪結果

$結果=調用-RestMethod -uri $ URL - 方法獲取 $結果|選擇-對象ID,用戶,描寫的特徵

結果是這樣的:

ID User Description             
-- ---- ----------- 
1 1234 HP EliteBook 840 G3 - 14」 - Core i7 6500U - 8 GB RAM - 256 GB SSD 
2 3251 HP EliteBook 840 G3 - 14」 - Core i7 6500U - 8 GB RAM - 256 GB SSD 
3 4323 HP EliteBook 840 G3 - 14」 - Core i7 6500U - 8 GB RAM - 256 GB SSD 

是有辦法即時修改描述值,只顯示模型?像這樣

ID User Description             
-- ---- ----------- 
1 1234 HP EliteBook 840 G3 
2 3251 HP EliteBook 840 G3 
3 4323 HP EliteBook 840 G3 
+1

是的,谷歌「計算屬性」,你可以在你的選擇語句中做,你也顯然需要找出正確的方式來做修剪。不能更直接地通知ATM,因此評論不回答。 –

回答

2

看起來好像你可以拆分-然後取出數組中的第一個條目。正如馬克指出的,你應該把它放在一個計算的屬性中。

$result=Invoke-RestMethod -Uri $Url -Method Get $result | 
    Select-Object ID,User,@{name="Descripton";Expression=($_.Description.split('-')[0]).trim()} 
+0

謝謝你將進一步研究這一點,現在我得到「你無法調用一個空值表達式的方法。」 – Anthon

+0

認爲14「是一個問題 這個作品: $ test ='HP EliteBook 840 G3 - 14」 - Core i7 6500U - 8 GB RAM - 256 GB SSD' $ test.Split(「 - 」)[0 ] .Trim() – Anthon

+0

$ result | Select-Object ID,User,@ {name ='Model'; Expression =(「Description」).Split(「 - 」)[0] .Trim()}仍然給出整體描述 – Anthon