2017-09-07 9 views
-1

コントロールパネルから "広告プログラムを実行する"を開くと、すべてのソフトウェアが入手できます。文字列を壊す

これらのデータをPowerShellを使用して表示しようとしています。ここに私のコードがあります:私はこれを行うにした場合

$tpObject = Get-WmiObject -Namespace ROOT\ccm\Policy\Machine\ActualConfig -Class CCM_SoftwareDistribution | Select-Object -Property PKG_Manufacturer, PKG_Name, PKG_MIFVersion, PRG_ProgramID 
$tpObject 

これは、それが唯一の1つの文字列全体としての三行が表示されます、

$tpObject[2] 

をすべてPKG_Manufacturer、PKG_Name、PKG_MIFVersion、PRG_ProgramID が表示されます。

私の質問:私は、上の文字列を分割する方法はので、私は
PKG_Manufacturer PKG_Name PKG_MIFVersionの値を表示することができます " - " PRG_ProgramID
または単に
PKG_ManufacturerとPKG_Name

TKS

にアクセスすることができます
+0

男の子は、本を手に入れて、この基本的なもので次の質問に1つの質問の答えで行かないでください。スタックオーバーフローは無料のコーディングサービスではありません。 – wp78de

答えて

1

オブジェクトのプロパティを1つだけ使用する場合は、Object.Propertyの構文またはSelect-Object -ExpandProperty

のいずれかを使用できます

これは、$tpObjectのすべての項目に対してプロパティーPKG_Manufacturerのみで構成されるコレクションを提供します。次に、Object.Property構文を使用した例を示します。

$tpObject.PKG_Manufacturer 

はここ

$tpObject | Select-Object -ExpandProperty PKG_Manufacturer 

これらのメソッドは、オブジェクトの配列の特定のアイテムだけを選択Where-Objectなどの配列インデックスまたはフィルタと組み合わせることができるSelect-Objectパラメータ-ExpandPropertyパラメータを拡大することにより同じ効果があります。