Benutzer mit den meisten Antworten
Powershell, gesamtes Feld in Ausgabe anzeigen.

Frage
-
moin,
wir haben jede Menge Ausnahmen bei einem Connector definiert. Jetzt wollte ich mir diese mit Powershell ausgeben.
mit
Get-ReceiveConnector "mx1\internal frontend nx1" | select RemoteIPRanges | fl
werden leider nicht alle Daten angezeigt.
-out-gridview bringt auch nicht alle Daten
10.10.1.1...}
out-file c:\temp\test.txt => selbes Problem
vermutlich ein Array Feld.
Crosspost im Powershell Forum, aber keine Antwort
Antworten
-
Hallo,
versuch's mal mit -ExpandProperty:Get-ReceiveConnector | select name, server -ExpandProperty remoteipranges
Grüße- Als Antwort markiert Dont - Worry Mittwoch, 17. Mai 2017 06:17
-
vermutlich ein Array Feld.
Nicht vermutlich, sondern bestimmt. Erkennst Du bei der Ausgabe an den { } die Werte.
Die Ausgabe mit "-ExpandProperty" ist zwar möglich, aber nicht so schön, weil es sich in dem Array um andere komplexe Objekte handelt, nicht um einfache Werte.
Ein wenig besser ist das hier:
(Get-ReceiveConnector -Identity "CONNECTORNAME").remoteipranges | % {$_.tostring() }
Damit gibt man das aus, was sich die Entwickler bei der Methode "tostring()" ausgedacht haben - was in diesem Fall ganz passabel ist.
Wichtig ist aber, dass es sich immer um einen einzelnen Connector handeln muss.
Sobald Du mehrere Connectoren ausgeben willst, hast Du einen dreidimensionalen Ergebnissatz, bei dem Du Dir zuerst überlegen musst, wie Du ihn in zwei Dimensionen transformierst. Das ist meistens nicht mit einem Einzeiler geschehen.
Gruesse aus Berlin schickt Robert - MVP Office Servers and Services (Exchange Server)
- Als Antwort markiert Dont - Worry Mittwoch, 17. Mai 2017 06:17
Alle Antworten
-
Hallo,
versuch's mal mit -ExpandProperty:Get-ReceiveConnector | select name, server -ExpandProperty remoteipranges
Grüße- Als Antwort markiert Dont - Worry Mittwoch, 17. Mai 2017 06:17
-
vermutlich ein Array Feld.
Nicht vermutlich, sondern bestimmt. Erkennst Du bei der Ausgabe an den { } die Werte.
Die Ausgabe mit "-ExpandProperty" ist zwar möglich, aber nicht so schön, weil es sich in dem Array um andere komplexe Objekte handelt, nicht um einfache Werte.
Ein wenig besser ist das hier:
(Get-ReceiveConnector -Identity "CONNECTORNAME").remoteipranges | % {$_.tostring() }
Damit gibt man das aus, was sich die Entwickler bei der Methode "tostring()" ausgedacht haben - was in diesem Fall ganz passabel ist.
Wichtig ist aber, dass es sich immer um einen einzelnen Connector handeln muss.
Sobald Du mehrere Connectoren ausgeben willst, hast Du einen dreidimensionalen Ergebnissatz, bei dem Du Dir zuerst überlegen musst, wie Du ihn in zwei Dimensionen transformierst. Das ist meistens nicht mit einem Einzeiler geschehen.
Gruesse aus Berlin schickt Robert - MVP Office Servers and Services (Exchange Server)
- Als Antwort markiert Dont - Worry Mittwoch, 17. Mai 2017 06:17
-
danke für alle Tipps. Mich hätte noch interessiert ob
es auch ohne größeren Scriptcode möglich ist, dass man nur die Expression zurück erhält?
naiv gesagt Get-ReceiveConnector | select name, server -ExpandProperty remoteipranges.Expression ???
bei Get-ReceiveConnector | select name, server -ExpandProperty remoteipranges
als Ausgabe erhält man
LowerBound : 10.1.1.19
UpperBound : 10.1.1.19
Netmask :
CIDRLength :
RangeFormat : SingleAddress
Size : ::1
Expression : 10.1.1.19- Bearbeitet Dont - Worry Montag, 22. Mai 2017 13:21