2016-07-26 2 views
0

제목이 다소 모호한 경우 사과드립니다. 내가 찾고있는 용어가 무엇인지 모르겠습니다. 나는 현재 XML에서 powershell 스크립트로 정보를 가져오고있다. 두 가지 방법으로 시도했습니다. 하나는 데이터를 반환하지 않고 다른 하나는 여분의 문자로 반환합니다. 그것은 PS v2와 윈도우 7에서 작동해야합니다. 나는 변수에 이런 식으로 정보를 넣어하려고하면XML 속성에서 여분의 데이터를 제거하는 방법

변수가 비어 있습니다 :

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

나는 정확한 목록을 보려면이 방법을 시도하지만, 추가 문자가 장착되어있는 경우

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

는 검색 버지니아의 단지 목록, 그래서 내가 다른 모든 것들을 제거하려면 어떻게

@(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

관련 문제