如果标题有点模糊,我很抱歉。我不确定我在找什么术语。我目前正在将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可以行没有找到任何东西,因为它或者有额外的信息,并没有匹配的程序名,或有没有列表检查。
谢谢。
感谢您的答复,但似乎让我回到没有输出。 – sloppyfrenzy