Powershell Werte vom Pipe Schritt zum Pipe Schritt, Werte aus 2 DBs zusammenfügen
Aloa in die Runde,
1. SQL Query an DB1
2. Pipe + Select der Spalten + Extra Spalte hinzufügen
3. Pipe + Foreach um die letzte Spalte zu befüllen mit Daten aus einer 2ten Datenbank über eine SOAP Abfrage
4. Fertig
Jetzt rufe ich im Schritt 3 eine SOAP Funktion auf die mir eine ID aus der 2ten DB zurückliefert.
Wenn ich nun nur Schritt 1 und 2 und danach ein ConvertTo-html bekomme ich die Tabelle ohne die letzte Spalte.
Nehme ich noch Schritt 3 mit dazu ist das Ergebnis nur die Rückgabe von der SOAP Abfrage.
Ist das generell so das der letzte Return in einem Schritt das Ergebnis stellt?
D.h. in dem Schritt eine neue Objektliste befüllen und sich die Ergebnisse dort von beiden Quellen (Query aus DB1) und SOAP Ergebnis zusammenfügen?
VG
1. SQL Query an DB1
2. Pipe + Select der Spalten + Extra Spalte hinzufügen
3. Pipe + Foreach um die letzte Spalte zu befüllen mit Daten aus einer 2ten Datenbank über eine SOAP Abfrage
4. Fertig
Jetzt rufe ich im Schritt 3 eine SOAP Funktion auf die mir eine ID aus der 2ten DB zurückliefert.
Wenn ich nun nur Schritt 1 und 2 und danach ein ConvertTo-html bekomme ich die Tabelle ohne die letzte Spalte.
Nehme ich noch Schritt 3 mit dazu ist das Ergebnis nur die Rückgabe von der SOAP Abfrage.
Ist das generell so das der letzte Return in einem Schritt das Ergebnis stellt?
D.h. in dem Schritt eine neue Objektliste befüllen und sich die Ergebnisse dort von beiden Quellen (Query aus DB1) und SOAP Ergebnis zusammenfügen?
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 379655
Url: https://administrator.de/contentid/379655
Ausgedruckt am: 24.11.2024 um 18:11 Uhr
7 Kommentare
Neuester Kommentar
Ohne Code ist schwer zu sagen was Du da zusammenprogrammiert hast, aber prinzipiell ist es möglich den einzelnen Objekten einer Objektliste weitere Properties zu geben (wobei das vermutlich auf den Typ der Objekte ankommt).
Ich vermute eher, das Du die Objekte in Schritt 3 ersetzt, nicht nur den Wert hinzufügst.
Kann mir meine Kristallkugel aber nicht sagen.
Jedenfalls kann ich bei meinem Versuch der SQL Abfrage (die Ergebnisse vom Typ System.Data.DataRow zurückgibt) problemlos noch eine Spalte mit Wert hinzufügen über folgenden Code:
Ich vermute eher, das Du die Objekte in Schritt 3 ersetzt, nicht nur den Wert hinzufügst.
Kann mir meine Kristallkugel aber nicht sagen.
Jedenfalls kann ich bei meinem Versuch der SQL Abfrage (die Ergebnisse vom Typ System.Data.DataRow zurückgibt) problemlos noch eine Spalte mit Wert hinzufügen über folgenden Code:
$row = $row | Add-Member -NotePropertyName "NeueSpalte" - NotePropertyValue "NeuerWert"
Write-Host's verhalten in Streams (=Pipes) unterscheidet sich in v1-4 und v. 5 , mehr dazu hier:
https://blogs.technet.microsoft.com/heyscriptingguy/2015/07/04/weekend-s ...
Mit welcher Version arbeitest du?
Edit: Ich nehme an du kannst das Problem schnell lösen wenn du statt write-host, write-output nimmst
https://blogs.technet.microsoft.com/heyscriptingguy/2015/07/04/weekend-s ...
Mit welcher Version arbeitest du?
Edit: Ich nehme an du kannst das Problem schnell lösen wenn du statt write-host, write-output nimmst
Servus.
write-host und write-output sind zwei verschiedene Paar Schuhe, außerdem verlierst du hier auch die Eigenschaften selbst und konvertierst das in ein dummes großes Array aus Werten, also mach's doch direkt so, wenn du hier schon eine calculated property benutzt:
Grüße Uwe
write-host und write-output sind zwei verschiedene Paar Schuhe, außerdem verlierst du hier auch die Eigenschaften selbst und konvertierst das in ein dummes großes Array aus Werten, also mach's doch direkt so, wenn du hier schon eine calculated property benutzt:
$result | select "Spalte1", "Spalte2", @{l="ID";e={Get-PackageID -Filter $Filter | select -Index 0 | %{$_.ObjectList.ID}}} | convertTo-html <Pfad>