Ich übergebe eine XmlElement
an eine Funktion, die wiederum diese XmlElement
in einen Skriptblock für die Remoteausführung übergeben. Was passiert ist, dass nur einige der Elemente über die foreach
Schleife gelesen werden. Dies scheint unabhängig davon zu sein, ob ich das XML mit $using
übergebe oder es als ArrayList übergebe.Foreach-Schleife bei Verwendung von Xml.XmlElement in Remote-Skriptblock
Der XML-Abschnitt:
<task>
<apps>
<app name="Sample">
<db name="Basic"/>
<db name="Interntl"/>
<db name="Xchgrate"/>
</app>
<app name="Vision">
<db name="Plan1"/>
</app>
</apps>
</task>
Powershell-Code:
foreach ($App in $using:task.apps.app) {
$AppName = $App.name
foreach ($Db in $App.db) {
$DbName = $Db.name
$AppFolder = "$DestinationFolder\$AppName\$DbName"
$AppFolder
}
}
Die resultierende Ausgabe ist dies, wenn $DestinationFolder
auf C eingestellt ist: \ Inszenierung:
C:\Staging\Objects\Applications\Sample\Basic C:\Staging\Objects\Applications\Sample\Interntl C:\Staging\Objects\Applications\Sample\Xchgrate
Ich bin verwirrt, warum ich Vision-App und db-Einträge nicht sehe? Es ist wie es einfach überspringt? Was ist noch seltsamer ist, dass wenn ich auf Kommentar
<db name="Plan1"/>
Der Ausgang der Vision-App in sich hat.
C:\Staging\Objects\Applications\Sample\Basic C:\Staging\Objects\Applications\Sample\Interntl C:\Staging\Objects\Applications\Sample\Xchgrate C:\Staging\Objects\Applications\Vision\