2016-07-26 16 views
0

タイトルが多少曖昧であればお詫び申し上げます。どのような用語が私が探しているものなのか分かりません。私は現在、XMLからPowerShellスクリプトに情報をインポートしています。私は2つの方法で試しました.1つはデータを返さず、もう1つは余分な文字で戻ってきます。それはPS v2とWindows 7で動作する必要があります。XML属性から余分なデータを削除する方法

私は変数に変数が空である、このように情報を掲載しようとした場合:

$applist = $UninstallXML.Uninstall.HP.App.Search 

私はこの方法を試してみた場合、私は正しいリストを取得し、それは余分な文字

$applist = $UninstallXML.Uninstall.HP.App | Select Search 
が付属しています

は、それが検索VAのリストだけですので、私は他のすべてを削除するにはどうすればよい

@(Search=*Bing*) 
@(Search=*Evernote*) 
@(Search=*Energy*Star*) 
etc... 

...と戻ってきますルーズ?

UPDATE:

それが何かを助けている場合、ここで私がやっているのより完全な絵です。それは余分な情報を持っているのいずれかと一致するプログラム名が存在しない、または確認するための何のリストがありませんので

[xml]$UninstallXML = Get-Content "$dir\Files\Uninstall.xml" 

$applist = $UninstallXML.Uninstall.HP.App | Select Search 

ForEach ($prog in $applist) { 

    $app = Get-WmiObject -Class Win32_Product | where { $_.Name -like "$prog" } 

    If ($app.IdentifyingNumber -ne $null) { 

     $index = [array]::IndexOf($applist,$prog) 

     $name = $UninstallXML.Uninstall.HP.App[$index] | Select Name 

     $logbox.Items.Add(" Uninstalled $($name)") 
     start-process -filepath "msiexec.exe" -ArgumentList "/x $($app.IdentifyingNumber) /passive /norestart" -wait 
     " Uninstalled $($name)" >> $logfile 

    } # End If 

} # End ForEach 

は、Get-WmiObjectコマンドラインは、何も見つかりません。

ありがとうございました。

答えて

0
$applist = ($UninstallXML.Uninstall.HP.App | Select Search).search 
+0

返信いただきありがとうございますが、それは私に全く出力されていないようです。 – sloppyfrenzy

1

私はこれで動作するようになったように見えます...

$ APPLIST = $ UninstallXML.Uninstall.HP.App | Select -expandproperty

関連する問題