Tabellarische Ausgabe der Netzwerkschnittstellen

Mitglied: dysti99

dysti99 (Level 1) - Jetzt verbinden

01.03.2021 um 08:42 Uhr, 1042 Aufrufe, 20 Kommentare, 2 Danke

Mit - ip a - werden ja die Netzwerkschnittstellen angezeigt.
Ich möchte mit ein Batchscript folgende Ausgabe erreichen:

1 eth0 192.168.1.1 AD:13:67:56:14:D1

2 eth1 192.168.0.45 12:45:DF:76:52:99

Bekomme es einfach nicht hin.
Mitglied: Doskias
01.03.2021 um 09:10 Uhr
Moin,

wieder einmal die Frage zum Anfang: Wieso Batch und nicht Powershell? Meiner Meinung nach gibt es keinen Grund sich heutzutage auf Batch zu versteifen und die Möglichkeiten in Powershell nicht zu nutzen. Alles was du brauchst findest du in Powershell mit:

Gruß
Doskias
Bitte warten ..
Mitglied: lcer00
01.03.2021 um 09:25 Uhr
Hallo,
Zitat von @Doskias:

Moin,

wieder einmal die Frage zum Anfang: Wieso Batch und nicht Powershell? Meiner Meinung nach gibt es keinen Grund sich heutzutage auf Batch zu versteifen und die Möglichkeiten in Powershell nicht zu nutzen. Alles was du brauchst findest du in Powershell mit:
und dabei geht es auch noch so schick einzeilig. Nimm bitte Powershell.

Grüße

lcer
Bitte warten ..
Mitglied: em-pie
01.03.2021, aktualisiert um 09:30 Uhr
Moin,

@Doskias & @lcer00
Ich gehe davon aus, dass er in einer Unix-Distribution unterwegs ist oder kennt ihr den Befehl ip a unter Windows?

Denn die Powershell wird ihm nicht viel nützen ;-) face-wink

Gruß
em-pie
Bitte warten ..
Mitglied: fredmy
01.03.2021 um 09:40 Uhr
Hallo,
@icer00 und @Doskias

und wie geht ip a unter Powershell ?
IIRR ist ip a ein unixoides Kommando.... gerht Powershell jetzt auch unter unixoiden Systemen ?

(denke da an Linux, BSD...)
evtl. sucht der TO sowas wie arp ?

Fred
Bitte warten ..
Mitglied: SeaStorm
01.03.2021 um 09:42 Uhr
Seit wann ist batch unixoid?

Und ja, PS geht unter Linux
Bitte warten ..
Mitglied: Doskias
01.03.2021 um 09:44 Uhr
Zitat von @em-pie:
Ich gehe davon aus, dass er in einer Unix-Distribution unterwegs ist oder kennt ihr den Befehl ip a unter Windows?
Ich kenn Unix nicht wirklich. Ist schon mehr als 1 Jahrzehnt her, dass ich damit gearbeitet habe. Da es in der Eröffnung nicht explizit erwähnt wurde, bin ich erstmal von Windows ausgegangen, denn das ist weiter verbreitet als Unix. Und da weder Begrüßung noch Verabschiedung steht, bin ich weiter davon ausgegangen, dass dysti99 sich gerne kurz hält und habe ip a als Kurzform für ipconfig /all interpretiert. Jetzt nach deinem Unix Einwurf denke ich aber auch, dass ich mit meiner Interpretation wohl falsch lag :) face-smile

Denn die Powershell wird ihm nicht viel nützen ;-) face-wink
Aber vielleicht lernt er ja daraus, wie wichtig es ist alle relevanten Infos in einer Frage zu erwähnen. Dann hat es doch was genützt :) face-smile
Bitte warten ..
Mitglied: 147669
147669 (Level 1)
LÖSUNG 01.03.2021, aktualisiert um 11:55 Uhr
Ich möchte mit ein Batchscript folgende Ausgabe erreichen:
Du meist wohl ein Bash oder Shell Skript, Windows Batch gibt es unter Linux nicht.
Oder alternativ formatiert mit "column" command
Gruß SK
Bitte warten ..
Mitglied: lcer00
01.03.2021, aktualisiert um 10:10 Uhr
Hallo,

OK, Powershell war dann nicht nicht so die Lösung.

Der Begriff Batch ( https://de.wikipedia.org/wiki/Stapelverarbeitung ) ist da sicher nicht hilfreich, ich rede bei Linux immer von (Shell)Skript ....
Zitat von @147669:

Oder alternativ formatiert mit "column" command
Womit mal wieder die Überlegenheit der Linux-Shell demonstriert werden konnte: Scheller, kürzer, prägnanter geht es nicht :) face-smile

Grüße

lcer
Bitte warten ..
Mitglied: em-pie
01.03.2021 um 10:12 Uhr
Zitat von @Doskias:

Zitat von @em-pie:
Ich gehe davon aus, dass er in einer Unix-Distribution unterwegs ist oder kennt ihr den Befehl ip a unter Windows?
Ich kenn Unix nicht wirklich. Ist schon mehr als 1 Jahrzehnt her, dass ich damit gearbeitet habe. Da es in der Eröffnung nicht explizit erwähnt wurde, bin ich erstmal von Windows ausgegangen, denn das ist weiter verbreitet als Unix. Und da weder Begrüßung noch Verabschiedung steht, bin ich weiter davon ausgegangen, dass dysti99 sich gerne kurz hält und habe ip a als Kurzform für ipconfig /all interpretiert. Jetzt nach deinem Unix Einwurf denke ich aber auch, dass ich mit meiner Interpretation wohl falsch lag :) face-smile
Nun gut, von der Seite hatte ich das noch nicht betrachtet :-) face-smile

Denn die Powershell wird ihm nicht viel nützen ;-) face-wink
Aber vielleicht lernt er ja daraus, wie wichtig es ist alle relevanten Infos in einer Frage zu erwähnen. Dann hat es doch was genützt :) face-smile
Full ACK

Wieder etwas gelernt :-) face-smile
Bitte warten ..
Mitglied: 147669
147669 (Level 1)
01.03.2021, aktualisiert um 10:18 Uhr
Nur zur Info, das Get-Netadapter CMDLet und auch WMI etc. existieren unter Linux nicht ;-) face-wink.
Bitte warten ..
Mitglied: AlRoDiSa
01.03.2021 um 10:35 Uhr
Versuch einfach mal:
ip -br addr show

Kann man in eine Datei umleiten bzw. mit "grep" oder "awk" etwas filtern

Viel Erfolg

Zu PS unter Unix... wohl eher zur Nutzung unter WSL gedacht? Wer sonst tut sich das unter reinem *nix an?
;-) face-wink
Bitte warten ..
Mitglied: dysti99
01.03.2021 um 10:48 Uhr
Mist. Ein Schreibfehler. Ich meinte bash und mein OS ist Debian Buster.
Danke für die vielen Antworten und Schmitzkatz hat mich auf den Pfad
der Tugend zurück geführt. Manchmal kann eine zuviel eingefügte Leerstelle
zur Verzweiflung führen.
Bitte warten ..
Mitglied: colinardo
01.03.2021, aktualisiert um 12:47 Uhr
Zitat von @lcer00:
Womit mal wieder die Überlegenheit der Linux-Shell demonstriert werden konnte: Scheller, kürzer, prägnanter geht es nicht :) face-smile
Kürzer geht immer :-) face-smile

Grüße Uwe
Bitte warten ..
Mitglied: GarfieldBonn
01.03.2021 um 14:55 Uhr
Ein gebasteltes Powershell 7 Skript unter Linux:

$HostIP = ip -br addr show

foreach($HI in $HostIP) {
        1. Interfacename
        $Interface = ($HI.split(" "))[0]
              1. Status des Interfaces
              $IStatus = ((($HI.TrimStart($Interface)).Trim()).Split(" "))[0]
                    1. Rest muss für IP noch zerlegt werden
                    $Rest = $HI.split($Istatus).Trim()
                    $IP = $Rest.Split("/")[1]
                          1. MAC in Zwei Zeilen ermitteln
                          $MAC = ip link show $Interface | grep ether


                                1. Ausgabe für alle aktiven Interfaces ausser Loopback
                                IF ($IStatus -eq "UP") {
                                IF ($Interface -ne "lo") {
                                            1. Aktuelle MAC erst jetzt ermitteln, da nicht für alle interface so vorhanden :) face-smile
                                            $MAC = (($MAC.split("ether").TRIM())[1].Split(" "))[0]
                                            write-host $Interface, $Istatus, $IP, $MAC
                                            }
                                            }
                                            }
Bitte warten ..
Mitglied: Lochkartenstanzer
01.03.2021 um 15:24 Uhr
Zitat von @fredmy:

... gerht Powershell jetzt auch unter unixoiden Systemen ?

Ja

lks
Bitte warten ..
Mitglied: Lochkartenstanzer
01.03.2021 um 15:33 Uhr
Zitat von @SeaStorm:

Seit wann ist batch unixoid?

Batch ist weder unixoid noch kleinweichig, sondern universeller. Batchprogrammierung stammt aus der Zeit von Lochkartenstapeln (batch=Stapel) und deren Verarbeitung und heißt im prinzip nichts anderes als eine Abfolge von Kommandos auszuführen. Heutzutage versteht man darunter alle möglichen "Programme" in interpretierten Skriptsprachen , wie z.B. bash, rexx, cmd-shell, csh, etc.

Daher kann mit "batch" alles Mögliche gemeint sein, auch wenn die Kiddies heutzutage nur die CMD-Shell-Skripte verstehen.


Ich persönlich hätte mit einem bash-skript geantwortet, aber die Lösungen sind ja inzwischen gepostet worden.

lks
Bitte warten ..
Mitglied: colinardo
01.03.2021, aktualisiert um 16:29 Uhr
Zitat von @GarfieldBonn:
Ein gebasteltes Powershell 7 Skript unter Linux:
Das geht dann doch eleganter ;-) face-wink.
Grüße Uwe
Bitte warten ..
Mitglied: TomTomBon
02.03.2021 um 08:44 Uhr
Moin Moin,
Ich schaue derzeit in beide Bereiche etwas mehr rein.
Bash weil Ich privat auf Mint umsteige, PS für die Arbeit.
Und ja, so langsam steige Ich durch PS mehr durch. Die Fragezeichen werden weniger :-p

Aber Ich finde immer noch, und immer mehr, das bash logischer strukturiert ist!
;-) face-wink

Nur meine Meinung
Bitte warten ..
Mitglied: 147669
147669 (Level 1)
02.03.2021, aktualisiert um 11:57 Uhr
Zitat von @TomTomBon:
Aber Ich finde immer noch, und immer mehr, das bash logischer strukturiert ist!
Das Wie Äppel und Birnen vergleichen. Das eine (Bash) ist jahrzehnte gewachsen und besteht aus X unterschiedlichen Tools die man zu einem ganzen zusammenwürfelt. PS dagegen wurde von Grund auf neu auf einem Framework (.NET) aufgebaut und ist mit dem CMDLet-Paradigma eher logischer aufgebaut wo man bei Bash sich eben als Neueinsteiger erst mal die abgekürzten Befehle erst mal zusammensuchen muss, ergeben sich die Befehle bei der PS meist wie von selbst. Dort fragt man sich als erstes was will ich machen? Get-, Set, New- sind meist selbsterklärend, dahinter dann das was man machen will -Content -Process usw.
Beide Sprachen haben Ihre Berechtigungen, obwohl ich persönlich die PS nur auf der Windows-Seite nutze und unter Linux auch eher die Bash weil man in der PS doch für vieles doch noch wieder althergebrachte Befehle benutzen muss weil einfach noch CMDLets fehlen oder in .NET Core noch nicht umgesetzt wurden.

Just my 2 cent.
Bitte warten ..
Heiß diskutierte Inhalte
Microsoft
Meine Gruppenrichtlinie wird nicht angewendet oder ich bin zu dumm
gelöst RandonDudeVor 1 TagFrageMicrosoft16 Kommentare

Hallo zusammen, ich bin Hobby-Admin für einen Versicherungsmakler. Wir haben ein Active Directory im Einsatz. Ich möchte verhindern, dass sich Benutzer an PCs anmelden, ...

Weiterbildung
Das Impostersyndrom oder: "Was kann ich eigentlich?"
AnduinVor 1 TagFrageWeiterbildung7 Kommentare

Werte Mitadmins, ich würde mich heute gerne mit einem mir wichtigen Thema an euch wenden. Ich bin 40 Jahre alt und seit 21 Jahren ...

Windows 10
Dokumentenanzeige auf 2.Bildschirm
gelöst Rico.lehmann93Vor 1 TagFrageWindows 107 Kommentare

Hey Leute, ein Kunde von uns sucht eine Möglichkeit Mietverträge dem Kunden auf einem Bildschirm anzeigen zu lassen. Auf dem Bildschirm soll aber wirklich ...

Off Topic
Ein Weg weg von Microsoft. Wie würde man es angehen? Lasst uns doch etwas spinnen
it-fraggleVor 5 StundenAllgemeinOff Topic19 Kommentare

Guten Morgen Kollegen, es treibt mich schon seit einigen Jahren um, dass es sinnvoll wäre langsam einen Weg weg von Microsoftprodukten zu finden. Mir ...

Windows Server
Igel + Terminalserver + VoIP + Softphone
Asgard-LokiVor 1 TagFrageWindows Server13 Kommentare

Gude Kolleginnen und Kollegen, ich habe da mal eine Frage zu einem Thema was für mich relativ neu ist. Wir wollen unsere Telefonie gerne ...

Batch & Shell
Wieso funktioniert das nicht?
gelöst Hundy132Vor 1 TagFrageBatch & Shell10 Kommentare

Hallo Freunde, kann mir irgendjemand sagen wieso meine Batch datei nicht funktioniert? So sieht Sie aus: Hier soll ein ein vorgegebenes Passwort Eingegeben werden ...

Windows Server
Zwei Netzwerkkarten im Server
gelöst Big.TurboladerVor 1 TagFrageWindows Server4 Kommentare

Hallo allerseits, ich habe ein Windows Server 2016 in einer VM erstellt um mein Wissen zu erweitern. Doch jetzt hänge ich an einem Problem ...

Windows 7
Win 10 frisst WIN 7 Treiber für Keyboard und Mouse ??
warnetVor 1 TagFrageWindows 711 Kommentare

Hallo, will meine beiden uralt Drucker HP 720c und mHP 995c unter Win xp, 7, und 10 irgendwie noch zum laufen bringen. Hab mir ...