2016-07-26 48 views
0

如果标题有点模糊,我很抱歉。我不确定我在找什么术语。我目前正在将XML中的信息导入到PowerShell脚本中。我尝试了两种方式,一种不返回任何数据,另一种返回额外字符。它需要在Windows 7和PS v2中工作。如何删除XML属性中的额外数据

如果我尝试将信息放入变量这样的变量为空:

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

如果我尝试这样我得到了正确的名单,但它带有多余的字符

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

与...

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

如何删除一切所以它只是搜索VA的列表回来梅毒?

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 |选择-expandproperty搜索