Get-VMSwitch Ausgabe in PowerShell-Skript

Mitglied: grmg2010
Moin,

ich möchte mit dem Befehl "Get-VMSwitch" die vorhandenen virtuellen Switche auf einem Hyper-V Host innerhalb eines Skripts anzeigen. Leider funktioniert dies nicht,
ic h kann zwar sehen, dass der Befehl ausgeführt wird aber die Ausgabe erscheint nicht im PowerShell-Fenster. Führe ich das direkt in der PowerShell aus, erhalte ich eine wie gewünscht die Ausgabe. Ich hatte im weiteren versucht das Ergebnis in einer variable zwischenzuspeichern und dann auszugeben. Leider ist die Formatierung nicht sinnvoll.


Welche Möglichkeiten habe ich, die Ausgabe des Befehls im Skript vernünftig darzustellen?

Gruß

Content-Key: 1293200496

Url: https://administrator.de/contentid/1293200496

Ausgedruckt am: 19.10.2021 um 23:10 Uhr

Mitglied: erikro
erikro 22.09.2021 um 20:37:35 Uhr
Goto Top
Moin,

ich habe gerade kein Hyper-V-Host zur Verfügung und deshalb auch kein get-VMSwitch. Aber wenn Dir die normale Ausgabe des Befehls reicht, dann versuche es mal mit tee-object. Hier ein Beispiel mit get-childitem. Aber das geht mit jedem anderen Befehl auch:


Und so sieht dann die Ausgabe aus:


Wichtig ist, wenn Du die Ausgabe in einer Variablen speichern willst, dass Du den Namen ohne $ davor hinter -variable schreibst. Im weiteren Skript dann wieder mit $.

hth

Erik
Mitglied: Cloudrakete
Cloudrakete 22.09.2021 um 21:58:14 Uhr
Goto Top
Abend,

ich hab das "Skript" mal auf einem unserer Hyper-Vs ausprobiert und da kommt doch genau das zurück, was man braucht?
Die Auflistung ist sogar automatisch in einem Table geordnet, daher verstehe ich deine Frage ehrlich gesagt nicht.
Du sagst, wenn du es in PowerShell ausführst, dann bekommst du das was du wünschst ausgegeben ... Dann stellt sich mir die Frage: wo führst du es sonst aus, wenn nicht in der Powershell?


Hilfreich wäre vielleicht, wenn du mal beispielhaft deinen Output postet und anhand dessen erklärst was dich genau stört.
Mitglied: grmg2010
grmg2010 23.09.2021 um 07:02:46 Uhr
Goto Top
Zitat von @Cloudrakete:

Abend,

ich hab das "Skript" mal auf einem unserer Hyper-Vs ausprobiert und da kommt doch genau das zurück, was man braucht?
Die Auflistung ist sogar automatisch in einem Table geordnet, daher verstehe ich deine Frage ehrlich gesagt nicht.
Du sagst, wenn du es in PowerShell ausführst, dann bekommst du das was du wünschst ausgegeben ... Dann stellt sich mir die Frage: wo führst du es sonst aus, wenn nicht in der Powershell?


Hilfreich wäre vielleicht, wenn du mal beispielhaft deinen Output postet und anhand dessen erklärst was dich genau stört.

Moin,

es kann sein, dass ich mich missverständlich ausgedrückt hatte. Wenn ich den Befehl in die PowerShell direkt eingebe, bekomme ich wie gewünscht das Ergebnis in Tabellenform. Füge ich den Befehl in mein Skript ein und rufe dieses dann auf, bleibt die PowerShell leer und das Skript wird weiter abgearbeitet. Das sehe ich daran, dass zwischen der Ausgabe des vorherigen Befehls und dem nachfolgenden Befehl eine Lücke bleibt.

Zur Verdeutlichung habe ich zwei Bilder eingefügt.
1
Aufruf im Skript, es wird nichts angezeigt
2
Aufruf ohne Skript, wie erwartet bekomme ich die Tabelle mit den vorhandenen Einträgen
Mitglied: hacktor
Lösung hacktor 23.09.2021 aktualisiert um 07:47:48 Uhr
Goto Top
Du solltest ja auch angeben wie du die Ausgabe formatiert haben wilst und das machst du ja nicht, du gibst quasi nur das Objekt aus ohne Formatierungsangaben, da entscheidet die Powershell dann selbst ob sie nach aktuellem Kontext was anzeigt oder nicht, also gib explizit an wie du es ausgeben willst

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Mitglied: grmg2010
grmg2010 23.09.2021 um 07:45:32 Uhr
Goto Top
Zitat von @erikro:

Moin,

ich habe gerade kein Hyper-V-Host zur Verfügung und deshalb auch kein get-VMSwitch. Aber wenn Dir die normale Ausgabe des Befehls reicht, dann versuche es mal mit tee-object. Hier ein Beispiel mit get-childitem. Aber das geht mit jedem anderen Befehl auch:


Und so sieht dann die Ausgabe aus:

>
Wichtig ist, wenn Du die Ausgabe in einer Variablen speichern willst, dass Du den Namen ohne $ davor hinter -variable schreibst. Im weiteren Skript dann wieder mit $.

hth

Erik

Die Ausgabe ist leider nicht so schön wie beim eigentlichen Befehl aber zumindest ein Anfang. Danke dafür.
Mitglied: grmg2010
grmg2010 23.09.2021 um 07:51:19 Uhr
Goto Top
Zitat von @hacktor:

Du solltest ja auch angeben wie du die Ausgabe formatiert haben wilst und das machst du ja nicht, du gibst quasi nur das Objekt aus ohne Formatierungsangaben, da entscheidet die Powershell dann selbst ob sie nach aktuellem Kontext was anzeigt oder nicht, also gib explizit an wie du es ausgeben willst

Komisch, ich dachte ich hätte das bereits ausprobiert gehabt. Das ist aber auf jeden Fall die Lösung. Allerdings schneidet er bei mir den Namen ab, solange ich nur zwei Spalten wähle. Kann man das noch etwas anders formatieren oder ist das problematisch? Sonst lasse ich mir auch die Interfacebeschreibung anzeigen, das ist auch in Ordnung. Auf jeden Fall besser, als wenn die Switch-Namen nicht erkennbar sind.

Vielen Dank.
Mitglied: hacktor
hacktor 23.09.2021 aktualisiert um 08:06:03 Uhr
Goto Top
Zitat von @grmg2010:
Allerdings schneidet er bei mir den Namen ab, solange ich nur zwei Spalten wähle. Kann man das noch etwas anders formatieren oder ist das problematisch? Sonst lasse ich mir auch die Interfacebeschreibung anzeigen, das ist auch in Ordnung. Auf jeden Fall besser, als wenn die Switch-Namen nicht erkennbar sind.

Vielen Dank.

Das ist auch kein Problem, bräuchtest du dir nur mal die Parameter von format-table anschauen

Heiß diskutierte Beiträge
question
Windows 11 Upgrade nicht möglichben1300Vor 1 TagFrageWindows 1114 Kommentare

Guten Morgen ! ich habe einen Gaming PC, mit folgende Spezifikationen: Leider kann ich diesen nicht auf Windows 11 upgraden: Welche Optionen bleiben mir, um ...

question
Was ich benötige ist ein guter Wechselrahmen 5,25"Lefty0815Vor 1 TagFrageFestplatten, SSD, Raid8 Kommentare

Hallo an alle, ich such mir noch einen Wolf :-) Was ich benötige ist ein Wechselrahmen 5,25" für eine zwei oder drei 3,5Zoll Festplatten (SATA ...

question
Exchange Server - Wege, anonymes Senden zu verbietenDerWoWussteVor 1 TagFrageExchange Server11 Kommentare

Ich grüße Euch! Ziel 1: Alle PCs sollen Warnmeldungen per E-Mail geskriptet und anonym versenden können. In diesen Skripten handelt das Computerkonto und im Skript ...

question
Neuinstallation NetzwerkBurQueVor 13 StundenFrageNetzwerkgrundlagen13 Kommentare

Hallo ich hab die Aufgabe bekommen ein Netzwerk in einem neuen Gebäude einzurichten bzw. mir dazu Gedanken zu machen. Raumsituation. Im Keller steht ein Serverschrank ...

question
WLAN Lösung für Gästehaus Vereinjohannes-meyerVor 23 StundenFrageLAN, WAN, Wireless8 Kommentare

Hallo, ich betreue die IT eines Vereins, der zwei Gebäude mit Gästebetrieb betreibt. Es sind regelmäßig an die 30 bis 50 Geräte verbunden. Ich hab ...

question
SMTP Relay Server gelöst MacLeodVor 1 TagFrageExchange Server10 Kommentare

Hallo zusammen. Vorwort: Habe das hier bei Exchange eingeteilt, betrifft aber Mailserver Versand allgemein. Bei einem Kunden mit einem Kerio Mailserver werden neben dem üblichen ...

question
Multi-WAN-Netzwerk fürs StudentenwohnheimHutzeljaegerVor 7 StundenFrageLAN, WAN, Wireless17 Kommentare

Hallo allerseits. Für die Internetversorgung unseres Studentenwohnheims muss ich nun sehen, dass ich eine kostengünstige Lösung eines Multi-WAN Netzwerks hinbekomme, wohl am besten per Multi-WAN-Bonding. ...

question
Drei Fragen zum Internet Explorer gelöst UserUWVor 23 StundenFrageWebbrowser4 Kommentare

1) Der IE lässt sich unter Windows 10 deaktivieren, aber nicht physisch deinstallieren. Heißt das, dass IE-Funktionalitäten "unter der Haube" auch von Windows 10 genutzt ...