1. Foren
  2. Kommentare
  3. Applikationen-Forum
  4. Alle Kommentare zum Artikel
  5. › Windows: Powershell wird…

schrott

Neue Foren im Freiraum! Raumfahrt und freie Software haben jetzt einen Platz, die Games tummeln sich jetzt alle in einem Forum.
  1. Thema

Neues Thema


  1. schrott

    Autor: schulz_me 17.06.21 - 13:41

    es folgt meine persönliche meinung...

    ich (als systemintegrator und nicht-anwendungsentwickler) finde die powershell einfach nur schlecht. wenn man aus der linux-welt kommt, ist das doch einfach nur traurig.

    "mal eben" etwas skripten? leider nicht möglich. erstmal muss man eine merkwürdige und absolut unintuitive befehlsstruktur versuchen zu verstehen... mit punkt notierung!? WTF?

    nen einfachen dauerping der schneller als 1/s ping? kann man nicht machen ohne ein powerschrott skript schreiben zu müssen.

    aliase? sehr witzig, bitte weitergehen...

    pipe? pipe am ar|sch. funktioniert absolut schlecht und nur wenn ein befehl es erlaubt. unfassbar...

    tab-completion? direkt aus der hölle... wie kommt man auf die ******** idee, dass man den user sooft tab drücken lässt bis irgendwann vielleicht der gewünschte befehl kommt?? und das beste: es wird auch noch der falsche befehl hingeschrieben, sodass man erst hocheffizient die backspace taste zerdrücken muss um ein weiteres zeichen einzugeben um die suche zu verfeinern.

    mir würden wahrscheinlich noch zig sachen einfallen, wenn ich das ding nicht nach einer halben stunde abgehakt hätte (im gegensatz dazu, als ich aus der windows welt kommend mit linux anfing und es alles sehr intuitiv und logisch war).

    muss es leider beruflich nutzen und zumindest das wt ist halbwegs brauchbar, was copy/paste und mehrere tabs und/oder unterfenster angeht. die cmd und die powershell selbst kriegen ja nicht mal das gesch*ssen. und die ISE ist einigermaßen interessant, wird aber wohl nicht mehr weiterentwickelt. und powershell skripts? was ein griff ins klo. man hätte sich auch einfach das abgucken können, was seit ewigkeiten sehr gut funktioniert, intuitiv ist und auch einen mal eben was skripten lässt ohne anwendunsentwickler zu sein...

    sorry für den rant, aber ist doch wahr :)

  2. Re: schrott

    Autor: dominikp1996 17.06.21 - 15:00

    Vielleicht solltest du überlegen ob du für den Beruf geeignet bist wenn du es nicht schaffst dich an die einfache Syntax von PowerShell zu halten oder dich mal ausführlich damit zu beschäftigen.

    PowerShell hat sehr viele Vorteile was Automation von Prozessen und Aufgaben angeht.

    Ob Bash oder PowerShell, man erreicht in beiden Welten sein Ziel.

  3. Re: schrott

    Autor: VilsaBrunnen 17.06.21 - 15:30

    schulz_me schrieb:
    > nen einfachen dauerping der schneller als 1/s ping? kann man nicht machen
    > ohne ein powerschrott skript schreiben zu müssen.
    100ms?
    ping -w 100


    ping /?

    Syntax: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
    [-r count] [-s count] [[-j host-list] | [-k host-list]]
    [-w timeout] [-R] [-S srcaddr] [-c compartment] [-p]
    [-4] [-6] Zielname

    Optionen:
    -t Pingt den angegebenen Host bis zur Beendigung des Vorgangs.
    Drücken Sie STRG+UNTBR, um die Statistik anzuzeigen und
    den Vorgang fortzusetzen.
    Drücken Sie STRG+C, um den Vorgang abzubrechen.
    -a Löst Adressen zu Hostnamen auf.
    -n count Die Anzahl der zu sendenden Echoanforderungen.
    -l size Die Größe des Sendepuffers.
    -f Legt das Kennzeichen für "Nicht fragmentieren" im Paket
    fest (nur IPv4).
    -i TTL Die Lebensdauer.
    -v TOS Der Diensttyp (nur IPv4. Diese Einstellung ist veraltet
    und hat keine Auswirkungen auf das Diensttypfeld im IP-
    Header).
    -r count Datensatzroute für Anzahl von Hops (nur IPv4).
    -s count Zeitstempel für Anzahl von Hops (nur IPv4).
    -j host-list "Loose Source Route" gemäß Hostliste (nur IPv4).
    -k host-list "Strict Source Route" gemäß Hostliste (nur IPv4).
    -w timeout Zeitlimit in Millisekunden für die einzelnen Antworten.
    -R Verwendet den Routingheader, um auch die umgekehrte Route
    zu testen (nur IPv6).
    Dieser Routingheader wird nicht mehr verwendet
    (siehe RFC 5095). Bei manchen Systemen werden
    Echoanforderungen verworfen, wenn
    dieser Header verwendet wird.
    -S srcaddr Die zu verwendende Quelladresse.
    -c compartment Routingdepotbezeichner
    -p Pingt die Adresse eines Anbieters für die
    Hyper-V-Netzwerkvirtualisierung.
    -4 Erzwingt die Verwendung von IPv4.
    -6 Erzwingt die Verwendung von IPv6.

  4. Re: schrott

    Autor: schulz_me 17.06.21 - 16:01

    dominikp1996 schrieb:
    --------------------------------------------------------------------------------
    > Vielleicht solltest du überlegen ob du für den Beruf geeignet bist wenn du
    > es nicht schaffst dich an die einfache Syntax von PowerShell zu halten oder
    > dich mal ausführlich damit zu beschäftigen.
    >
    > PowerShell hat sehr viele Vorteile was Automation von Prozessen und
    > Aufgaben angeht.
    >
    > Ob Bash oder PowerShell, man erreicht in beiden Welten sein Ziel.

    ja, danke. werde ich mal drüber nachdenken.

    natürlich kann man alles in beiden welten erreichen, aber die frage ist wie aufwändig es ist. und ich bezweifle, dass du viel auf der bash unterwegs wars, wenn du die PS syntax als einfach bezeichnest. als praktiker ist es ein himmelweiter unterschied ob man mal eben mit "|grep" hinter einem befehl ein ergebnis verfeinern kann oder das so umständlich wie auf der PS machen muss. und sich ausführlich damit beschäftigen, müsste man tatsächlich um es zu benutzen. wenn du dafür zeit hast oder deine freizeit investieren möchtest, mach das.

    was die automation usw. angeht, davon habe ich ja nie gesprochen. Vielleicht solltest du überlegen ob du für das golem-Forum geeignet bist wenn du es nicht schaffst Posts richtig zu lesen? ;)

  5. Re: schrott

    Autor: FreiGeistler 17.06.21 - 16:56

    dominikp1996 schrieb:
    --------------------------------------------------------------------------------
    > Vielleicht solltest du überlegen ob du für den Beruf geeignet bist wenn du
    > es nicht schaffst dich an die einfache Syntax von PowerShell zu halten oder
    > dich mal ausführlich damit zu beschäftigen.
    Bin Entwickler (deine implizierte Berufsgruppe statt der des TO) und finde ebenfalls, dass OOP in einer Kommandozeile völlig übers Ziel hinausgeschossen ist. Schwerer zu lernen und weniger effizient zum Scripten.
    Scheinst ja ebenfalls Entwickler zu sein? Was glaubst du, sind die Usecases einer Kommandozeile? Sie überschneiden sich jedenfalls nicht mit denen einer Programmiersprache. Python ausrollen will MS ja trotzdem nicht.

    > PowerShell hat sehr viele Vorteile was Automation von Prozessen und
    > Aufgaben angeht.

    > Ob Bash oder PowerShell, man erreicht in beiden Welten sein Ziel.
    Sicher. Irgendwie geht immer. Zweckmässigkeit und Effizienz sind aber wichtig.



    2 mal bearbeitet, zuletzt am 17.06.21 16:58 durch FreiGeistler.

  6. Re: schrott

    Autor: Kleba 17.06.21 - 17:24

    schulz_me schrieb:
    --------------------------------------------------------------------------------
    > als praktiker ist es ein himmelweiter unterschied ob man mal eben mit "|grep" hinter
    > einem befehl ein ergebnis verfeinern kann oder das so umständlich wie auf der PS
    > machen muss.

    Das ist aber auch für dich nur nicht umständlich wenn du a) weißt, dass es "grep" gibt b) wofür es gedacht ist und c) wie die Syntax davon ist.
    In PS finde ich es tatsächlich deutlich intuitiver, weil der erste Teil des Befehls aus wenigen Verben besteht (Get-, Select-, Start-, Stop-, etc.) und der zweite Teil meist relativ klar sagt was gemacht werden soll.
    Will ich z.B. von dem Dateiinhalt nur bestimmte Teile habe, nutze ich es bspw. so

    Will ich den Inhalt einer bestimmten Datei?
    > Get-Content .\function.proj

    Will ich nur die Zeilen, die einen bestimmten Begriff beinhalten?
    > Get-Content .\function.proj | Select-String -Pattern 'PackageReference'

    Gibt mir nur die Zeilen aus dem File zurück die "PackageReference" beinhalten.

    Will ich die führenden Leerzeichen entfernen (weil das ein XML-File ist)?
    > Get-Content .\function.proj | Select-String -Pattern 'PackageReference' | foreach { $_.ToString().Trim() }

    Wenn du übrigens nicht mit Tab durch alle Optionen durchwechseln willst, empfehle ich mal Ctrl+Space zu drücken - dann kommt eine Auswahl aller möglichen Optionen an der jeweiligen Stelle ;-)

    Ist ja nicht unüblich, dass einem etwas leichter fällt, was man gut kennt. Ich würde jederzeit die PS ggü. bash bevorzugen - aber vermutlich hauptsächlich, weil ich für bash praktisch jeden Befehl nachschlagen müsste (da bin ich mit PS einfach schneller). Ich finde deinen Rant deshalb etwas übertrieben...

  7. Re: schrott

    Autor: Kleba 17.06.21 - 17:42

    schulz_me schrieb:
    --------------------------------------------------------------------------------
    > "mal eben" etwas skripten? leider nicht möglich. erstmal muss man eine
    > merkwürdige und absolut unintuitive befehlsstruktur versuchen zu
    > verstehen...

    Klar ist das möglich - wieso sollte das nicht gehen? Klar, wenn man die Cmds nicht kennt geht das nicht - das betrifft aber jede Shell. Da ist es müßig drüber zu diskutieren. Deine Probleme hätte ich, wenn ich unter Linux die Shell nutzen möchte

    > mit punkt notierung!? WTF?

    Was meinst du? Das man - je nach Rückgabewert - einfach auf jede Eigenschaft zugreifen kann? Ist super :). Du willst den Sekundenwert der aktuellen Uhrzeit? Einfach "(Get-Date).Second" eingeben und fertig

    > nen einfachen dauerping der schneller als 1/s ping? kann man nicht machen
    > ohne ein powerschrott skript schreiben zu müssen.

    Wie VilsaBrunnen schon dargestellt hat...

    > aliase? sehr witzig, bitte weitergehen...

    Natürlich gibt es Aliase? Statt "Get-ChildItem" kannst du bspw. "gci" verwenden. Kannst dir natürlich deine eigenen erstellen

    > pipe? pipe am ar|sch. funktioniert absolut schlecht und nur wenn ein befehl
    > es erlaubt. unfassbar...

    Pipes funktionieren bei den meisten Befehlen. Klar, wenn ein Entwickler es im eigenen Modul nicht implementiert, dann nicht. Aber ich bezweifle, dass das ein großer Unterschied zu anderen vergleichbaren Konstellation unter Linux ist.

    > tab-completion? direkt aus der hölle... wie kommt man auf die ********
    > idee, dass man den user sooft tab drücken lässt bis irgendwann vielleicht
    > der gewünschte befehl kommt?? und das beste: es wird auch noch der falsche
    > befehl hingeschrieben, sodass man erst hocheffizient die backspace taste
    > zerdrücken muss um ein weiteres zeichen einzugeben um die suche zu
    > verfeinern.

    Ctrl+Space ist dein Freund - zeigt dir alle Optionen (egal ob CmdLets, Parameter, Files, ...) an die möglich sind (zugegeben, das war nicht von Anfang an dabei, benutze es aber mittlerweile nur noch)

    > mir würden wahrscheinlich noch zig sachen einfallen, wenn ich das ding
    > nicht nach einer halben stunde abgehakt hätte (im gegensatz dazu, als ich
    > aus der windows welt kommend mit linux anfing und es alles sehr intuitiv
    > und logisch war).

    Das ist definitiv Geschmackssache. Ich finde die Kombination aus Verb und "Art-der-Sache-die-ich-machen-möchte" sehr viel intuitiver (bspw. Get-Content um Dateiinhalte auszugeben oder Set-ItemProperty um eine Eigenschaft zu ändern) als Befehle die man sich - ohne Hintergrundwissen - nicht zusammenreimen kann (wie bspw. "grep" unter Linux; klar, wenn man es weiß ist es easy; wenn ich es nicht weiß würde ich das Akronym nicht aufgrund der Bedeutung "global search for a regular expression and print out matched lines" erraten können).

    > muss es leider beruflich nutzen und zumindest das wt ist halbwegs
    > brauchbar, was copy/paste und mehrere tabs und/oder unterfenster angeht.
    > die cmd und die powershell selbst kriegen ja nicht mal das gesch*ssen.

    Copy-Paste nervt wirklich, zumindest wenn man die Finger von der Maus lassen möchte (also zumindest das markieren ist nervig und kollidiert vom Shortcut her häufig mit anderen Dingen, zumindest bei mir)

    > die ISE ist einigermaßen interessant, wird aber wohl nicht mehr
    > weiterentwickelt.

    Die ISE ist Grütze - aber VS Code ist der leichtgewichtige Freund :)

    > und powershell skripts? was ein griff ins klo. man hätte
    > sich auch einfach das abgucken können, was seit ewigkeiten sehr gut
    > funktioniert, intuitiv ist und auch einen mal eben was skripten lässt ohne
    > anwendunsentwickler zu sein...

    Was meinst du damit? Die Skripte könnten doch einfacher nicht sein? Oder was ist dein Problem hier?

    > sorry für den rant, aber ist doch wahr :)

    Starke Ansichtssache würde ich sagen ;-)

  8. übelster schrott

    Autor: Standard 17.06.21 - 19:51

    Die Powershell ist übelster Schrott und sollte komplett eingestampft werden.
    Sie ist durch zahlreiche "Fehler" im Konzept das allerbester Malwareframework.
    Case sensitive Befehle oder Parameter? Warum sollte man, denn so etwas machen, dann wäre es ja schwieriger zu obfuskieren!
    Befehle und Parameter abgekürzt gültig solange die abkürzung eindeutig ist? Wer käme denn darauf das für Obfuskierung von Malware zu benutzen!
    Rechteausweitung mit einem einfachen Befehl? Was kann da schon schiefgehen?!?!
    ...

    Die Leute, die Powershell verbrochen haben und diejenigen, die es abgenickt haben gehören ordentlich ausgepeitscht.

  9. Re: schrott

    Autor: CreepCreep 17.06.21 - 23:58

    Kleba schrieb:
    --------------------------------------------------------------------------------
    > Pipes funktionieren bei den meisten Befehlen. Klar, wenn ein Entwickler es
    > im eigenen Modul nicht implementiert, dann nicht. Aber ich bezweifle, dass
    > das ein großer Unterschied zu anderen vergleichbaren Konstellation unter
    > Linux ist.

    Ist der Punkt an der Pipe nicht gerade der, dass STDOUT einfach weitergegeben wird? Ich kenne mich unter PS nicht aus aber unter Linux funktioniert es per Definition immer wenn es eine Ausgabe per STDOUT gibt, oder?

  10. Re: schrott

    Autor: Kleba 18.06.21 - 06:25

    Es geht eher darum, dass der Befehl nach der Pipe nicht unbedingt einen Pipeline-Input akzeptiert. Klar, kann erst mal alles per Pipe weitergegeben werden, aber wenn das "Ziel" es nicht akzeptiert bringt das ja nichts.
    Grob zusammengefasst: der Parameter des Ziel-CmdLets muss mit "ValueFromPipeline" (oder "ValueFromPipelineByPropertyName") markiert sein, damit das klappt. Soweit ich weiß, ist das bei praktisch allen Standard-CmdLets der Fall. Bei Modulen von 3rd-Party-Entwicklern aber nicht unbedingt.

  11. Re: schrott

    Autor: Isse me, Mario 18.06.21 - 08:59

    schulz_me schrieb:
    --------------------------------------------------------------------------------
    > "mal eben" etwas skripten? leider nicht möglich. erstmal muss man eine
    > merkwürdige und absolut unintuitive befehlsstruktur versuchen zu
    > verstehen... mit punkt notierung!? WTF?

    Punkt Notierung - sorry aber hier hatte ich schon einen kleinen Lachflash ;-). Ich war um die 15 Jahre lang Unix Admin und _jeder_ aus der Unix Welt kapiert das anfangs einfach nicht. In Powershell geben die Funktionen/Cmdlets OBJEKTE aus, während die klassischen Shells einfach TEXT ausgeben. Wird ein Objekt auf die Konsole ausgegeben, so wird das Objekt entsprechend den Vorgaben formattiert, damit es für den Anwender lesbar ist. Mit der "Punkt Notation" greifst du auf Methoden und Eigenschaften der OBJEKTE zu.

    Der "grep"-Fetisch ist ebenfalls aus der Unix Welt.. Du gehst davon aus, dass die Funktion dir 100% Informationen gibt und du die 5% raus-grepst & awk'st, die dich interessieren. Bei Objekten funktioniert das natürlich so nicht. Informationen müssen nicht aus der Ausgabe "rausgewurstelt" werden sondern stehen in Eigenschaften zur Verfügung. Ein Filtern nach Eigenschaften sieht dann auch anders aus..

    Get-Process | Where-Object Name -eq "svchost"
    ...statt einem
    ps -ef | grep svchost

    Es ist viel sauberer als mit grep & awk etwas zu nuscheln oder sich durch einen Dschungel von Parametern oder Hilfstools zu kämpfen.

  12. Re: schrott

    Autor: schulz_me 18.06.21 - 09:11

    Isse me, Mario schrieb:
    --------------------------------------------------------------------------------
    > Get-Process | Where-Object Name -eq "svchost"
    > ...statt einem
    > ps -ef | grep svchost
    >
    > Es ist viel sauberer als mit grep & awk etwas zu nuscheln oder sich durch
    > einen Dschungel von Parametern oder Hilfstools zu kämpfen.

    das sehe ich ganz anders. es ist (natürlich durch gewohnheit, aber auch durch pragmatismus) einfacher die text-ausgabe mit grep/awk/sed usw. passend zu machen. den dschungel von parametern kenne ich nicht. jeder befehl bringt (bei den meisten distros) eine man-page mit in der man suchen kann.

    und in deinem beispiel muss ich ja auch wissen, dass das objekt das mir Get-Process zurückgibt nen parameter "Name" hat. und das ist ja noch ein einfacher. verstehe ich nicht wie das einfacher sein soll.

  13. Re: schrott

    Autor: dominikp1996 23.06.21 - 15:27

    schulz_me schrieb:
    --------------------------------------------------------------------------------
    > dominikp1996 schrieb:
    > ---------------------------------------------------------------------------
    > -----
    > > Vielleicht solltest du überlegen ob du für den Beruf geeignet bist wenn
    > du
    > > es nicht schaffst dich an die einfache Syntax von PowerShell zu halten
    > oder
    > > dich mal ausführlich damit zu beschäftigen.
    > >
    > > PowerShell hat sehr viele Vorteile was Automation von Prozessen und
    > > Aufgaben angeht.
    > >
    > > Ob Bash oder PowerShell, man erreicht in beiden Welten sein Ziel.
    >
    > ja, danke. werde ich mal drüber nachdenken.
    >
    > natürlich kann man alles in beiden welten erreichen, aber die frage ist wie
    > aufwändig es ist. und ich bezweifle, dass du viel auf der bash unterwegs
    > wars, wenn du die PS syntax als einfach bezeichnest. als praktiker ist es
    > ein himmelweiter unterschied ob man mal eben mit "|grep" hinter einem
    > befehl ein ergebnis verfeinern kann oder das so umständlich wie auf der PS
    > machen muss. und sich ausführlich damit beschäftigen, müsste man
    > tatsächlich um es zu benutzen. wenn du dafür zeit hast oder deine freizeit
    > investieren möchtest, mach das.
    >

    In der Bash arbeite ich deutlich mehr, das liegt unter anderem daran dass ich einer der wenigen Linux Administratoren im Team bin. Ich schreibe Scripte in Bash seit nicht weniger als 10 Jahren. Ich denke ich kenne mich ganz gut darin aus ^^.

    Ich finde dennoch das Powershell Scripte deutlich einfacher zu lesen aber gleichzeitig mächtig sind. Mit Select und Where hat man sehr mächtige Befehle zum Filtern und Selektieren. Ähnliches ist auch mit grep und awk möglich, jedoch sieht es anschließend nicht so schön aus =).

    Klingt verrückt, aber ich habe meine Hobby zum Beruf gemacht. Ich liebe was ich mache und mache es gerne auch 24/7.

    > was die automation usw. angeht, davon habe ich ja nie gesprochen.
    > Vielleicht solltest du überlegen ob du für das golem-Forum geeignet bist
    > wenn du es nicht schaffst Posts richtig zu lesen? ;)

    Ich werde mal darüber nachdenken ;)

  1. Thema

Neues Thema


Um zu kommentieren, loggen Sie sich bitte ein oder registrieren Sie sich. Sie müssen ausserdem in Ihrem Account-Profil unter Forum einen Nutzernamen vergeben haben. Zum Login

Stellenmarkt
  1. IT-Administrator (m/w/d)
    Indorama Ventures Polymers Germany GmbH, Gersthofen bei Augsburg
  2. Leitung (m/w/d) Softwareentwicklung
    Th. Geyer GmbH & Co. KG, Renningen
  3. Leiter (m/w/d) Platform Integration
    Anstalt für Kommunale Datenverarbeitung in Bayern (AKDB), München, Regensburg, Augsburg
  4. (Senior) ABAP-Entwickler (w/m/d)
    ITARICON Gesellschaft für IT-Architektur und Integrationsberatung mbH, Dresden (Home-Office möglich)

Detailsuche


Golem pur
  • Golem.de ohne Werbung nutzen

Anzeige
Spiele-Angebote
  1. ab 59,99€
  2. (stündlich aktualisiert)


Haben wir etwas übersehen?

E-Mail an news@golem.de


  1. WIK: Netzausbausteuer für Netflix und Co. schadet den Nutzern
    WIK
    Netzausbausteuer für Netflix und Co. schadet den Nutzern

    Werden Contentanbieter wie Netflix in Europa gezwungen, sich am Netzausbau zu beteiligen, schadet das am Ende den Nutzern. Das ergibt eine Analyse des WIK.

  2. Subventionen: Lindner will lieber Kitas statt Elektroautos fördern
    Subventionen
    Lindner will lieber Kitas statt Elektroautos fördern

    In der Debatte um die künftige Förderung von Elektroautos legt Finanzminister Christian Lindner nach. Die Kritik lässt nicht lange auf sich warten.

  3. Statt 5G: Russland nutzt 700-MHz-Frequenzband weiter für analoges TV
    Statt 5G
    Russland nutzt 700-MHz-Frequenzband weiter für analoges TV

    Der Frequenzbereich wurde um ein Jahr für die bisherige Nutzung verlängert. Die russischen Netzbetreiber wollten dort 5G ausbauen.


  1. 19:09

  2. 18:54

  3. 18:15

  4. 18:00

  5. 17:45

  6. 17:30

  7. 17:15

  8. 17:00