Разбор нескольких. XML файлов для значений узлов - PullRequest
0 голосов
/ 04 марта 2020

Попытка прочитать несколько файлов xml и собрать значения для нескольких узлов.

$ configlist - это текстовый файл, содержащий несколько xml файлов в UN C Path

\\server\path\to\cml.config
\\otherserver\path\to\xml.config

Если я попробую один из путей UN C как один, вне foreach (ie [xml] $ xmlfull = (Get-Content "\ uncpath \ to \ xml .config"), это работает, если я пытаюсь перебрать список с foreach, он ничего не делает .

Как мне заставить это работать с несколькими XML файлами из $ configlist?

$configlist= (get-content C:\temp\cfgpath_tested.txt)
Foreach ($cfg in $configlist)
{ 
[xml]$xmlfull = (Get-Content "$cfg")
$result = $xmlfull.configuration.location | ForEach-Object {
    $client        = $_.path
    $allowUnlisted = $_.'system.WebServer'.security.ipSecurity.allowUnlisted
    foreach ($item in $_.'system.WebServer'.security.ipSecurity.add) {
        [PsCustomObject]@{
            ExampleClient = $client 
            AllowUnlisted = $allowUnlisted
            IPAddress     = $item.ipAddress
            SubnetMask    = $item.subnetMask
      } 
    } 
  }
}

# output on screen
$result 

1 Ответ

1 голос
/ 04 марта 2020

Захват результатов в первом l oop:

$result = foreach ($cfg in $configlist)

И удаление $result = из строки $result = $xmlfull.configuration.location

Извините, на мобильном телефоне так коротко ответить на этот раз ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...