derbaya
Goto Top

Windows Powershell - Nutzen?

Guten Abend miteinander,

ich habe mich seit kurzem erst etwas mit der Windows Powershell befasst.
Dazu habe ich auf Youtube mal 5 Stunden Videos / Seminar (von 21) von Peter Kriegel angeschaut.

Ich habe jetzt abgebrochen und muss euch mal fragen oder bitten mir ein oder besser mehrere Szenarien aufzuzeigen bei dem die Powershell ihre Stärken ausspielt.
Beziehungsweise, was kann ich damit denn machen, was "im Handbetrieb" nicht geht? Oder was geht mit der PS einfach schneller, oder was geht nur mit der PS?

Ich bin seit 5 Jahren Admin in einem mittelständischem Unternehmen und habe bis auf ein paar kleine Batch-Skripts noch nie sowas in der Art gebraucht.

Content-ID: 335130

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

Ausgedruckt am: 25.11.2024 um 17:11 Uhr

Mad-Eye
Mad-Eye 13.04.2017 um 19:25:16 Uhr
Goto Top
Hi DerBaya,

ehrlich gesagt bin in gerade leicht schockiert. Scheinbar habt ihr nur eine Handvoll Server zu administrieren. Spätestens wenn die Zeit eng wird sollte man seinen Horizont über "ein paar kleine Batch-Skripts" erweitern. Skripte im allgemeinen machen einem das Leben einfacher. Wenn man die Zeit hat alles auf der GUI zu klicken, wegen mir. Aber bei manchen Sachen spart man sich extrem viel Aufwand. Schon mal versucht 10 Hyper-V VMs zu erweitern, nachts im Schlaf? Geht schwer, kann aber ein Skript ohne Probleme. Vor allem bei möglichst homogenen Windows-Umgebungen wird PowerShell immer nützlicher. Je mehr stupides Klicken weg fällt, desto mehr Zeit hast du für neues.

Gruß,
Mad-Eye
wiesi200
wiesi200 13.04.2017 um 19:31:36 Uhr
Goto Top
Hallo,
Ich brauch es zwar selten aber z.B. Kannst du manche Sachen bei einem aktuellen Exchange Server ohne Powershell nicht mal machen.
Mad-Eye
Mad-Eye 13.04.2017 um 19:43:40 Uhr
Goto Top
Stimmt,

Macht Micrsoft gefühlt immer mehr. In der Powershell ist teilweise schneller und einfacher Ergebnisse zu erhalten, allein wenn man an Get-MessageTrackingLog denkt. Bis die Konsole offen ist hat man das in Powershell drei mal fertig. Wie gesagt je mehr Microsoft, desto mehr Powershell wird man früher oder später benötigen.

Zur Info: Bei der Microsoft Virtual Academy (mva.microsoft.com) findet man bezüglich Powershell auch viele Interessante Kurse pber Powershell und dessen Einsatz.

Gruß,

Mad-Eye
wiesi200
wiesi200 13.04.2017 um 19:59:48 Uhr
Goto Top
Exportier mal ein Postfach ohne PS
132895
132895 13.04.2017 aktualisiert um 21:03:12 Uhr
Goto Top
Ohh da lässt sich ein ganzes Buch von schreiben...
  • Mit PS brauchst du nicht x Zusatztools wie in Batch, das hat alles an Bord was du brauchst.
  • Einheitlich CMDLet Struktur, alle Tools mit Parametern sehr intuitiv ähnlich nutzbar.
  • Objektorientiertheit!!! Gaaanz wichtig und mit das nützlichste überhaupt!!
  • Du musst die nicht den A.... aufreißen um mal eben mit einem Datum zu rechnen.
  • Zippen, Hashen, C# Code nutzen, das ganze NET Framework nutzbar, Win32 Funktionen werden nutzbar, komplette Pogrammiersprache verfügbar, GUIs mit Windows Forms und WPF sind kein Problem, Multithreading und und und da kann man noch Stunden so weiter machen.

Arbeite dich erst mal "richtig" rein und nicht mit so bescheuerten Videos, wer lernt denn bitte so Skriptsprachen??, irgendwann wenn es Klick macht, willst du nie mehr zurück zum "Mofa-Batch" aus den 80ern!

Gruß
DerBaya
DerBaya 14.04.2017 um 09:28:19 Uhr
Goto Top
Stimmt. Das ist das einzige bei dem ich PS mal gebraucht habe und um mir die Größe der Postfächer anzeigen zu lassen.
Ich habe kein Hyper-V, wir nutzen VMWare. Hier habe ich einmal PS gebraucht um eine Festplatte mit einzubinden.
Aber mehr auch noch nicht. Ich habe jetzt auch hier noch kein Argument gelesen, was PS wirklich sinnvoll erscheinen lässt.
So große IT-Struktur habe ich auch nicht... 2 Hosts, 1 Backupserver, 10 VMs, NAS, ein paar Switche - fertig....
132895
132895 14.04.2017 aktualisiert um 09:49:51 Uhr
Goto Top
Zitat von @DerBaya:
Aber mehr auch noch nicht. Ich habe jetzt auch hier noch kein Argument gelesen, was PS wirklich sinnvoll erscheinen lässt.
Dann hast du es nicht verstanden, oder keine aktuellen Systeme, oder machst alles von Hand.
Sicher kann man vieles "noch" mit dem Mofa erledigen (Betonung liegt auf noch), aber eben nicht mehr alles und das wird sich schrittweise ändern. Außerdem ist der Zeitaufwand eine komplexe Automation mit Batch zu Skripten bei weitem höher als mit der PS. Die diversen Vorteile kannst du oben nachlesen, wenn du die nicht erkennst bist du entweder blind, oder nutzt komerzielle Tools für deine Aufgaben.
Ist doch wie immer, nutzt du heute noch Basic um deine Programme zu schreiben? Bestimmt nicht. Genauso ist das eben hier auch.
Irgendwann kommt immer die Zeit den Gaul zu wechseln. Lernen tun wir unser Leben lang.

Man sollte immer offen für Neues sein. Ich Skripte nun schon seit bestimmt 9 Jahren mit der PS und seit 2 Jahrzehnten mit der Bash. Für jedes System eben seine Sprache.
DerBaya
DerBaya 14.04.2017 aktualisiert um 09:51:12 Uhr
Goto Top
Ich nutze weder Batch noch Basic. Ich schreibe doch gar keine Programme... Sorry, ihr müsst mich deswegen nicht gleich angreifen.
Ich will ja eben PS lernen, aber sehe noch keinen nutzen. Deswegen such ich eben nach Motivation face-smile
132895
132895 14.04.2017 aktualisiert um 09:56:47 Uhr
Goto Top
Zitat von @DerBaya:

Ich nutze weder Batch noch Basic. Ich schreibe doch gar keine Programme...
Dann bringt es ja nichts es dir hier zu erklären, wenn du keinen Background in dem Bereich hast, und unsere Erläuterungen nicht verstehst.
Sorry, ihr müsst mich deswegen nicht gleich angreifen.
Wo tun wir das??
Ich will ja eben PS lernen, aber sehe noch keinen nutzen.
Dann hast du anscheinend keine Aufgaben face-smile
Deswegen such ich eben nach Motivation
Die Aufgaben musst du dir schon selbst stellen.

Powershell Anfänger argumentieren immer so, meine Erfahrung bei den meisten die ich gesehen habe, mach erst mal weiter dann merkst du schnell das es eine Skriptsprache mit vielen Vorteilen ist. Genügend Vorteile haben wir dir oben schon genannt.

Wenn du eine Skriptsprache suchst dir dir den Kaffee kocht bist du hier falsch face-smile.

So long, Frohe Ostern, und viel Spaß beim Skripten!
DerBaya
DerBaya 14.04.2017 um 09:56:31 Uhr
Goto Top
Was machst du denn zum Beispiel heute mit der PS, was früher meinetwegen nicht ging oder nur sehr kompliziert war...?
132895
132895 14.04.2017 aktualisiert um 10:07:49 Uhr
Goto Top
Zitat von @DerBaya:

Was machst du denn zum Beispiel heute mit der PS, was früher meinetwegen nicht ging oder nur sehr kompliziert war...?
Wie sollst du das verstehen wenn du noch nie Batches geschrieben geschweige denn gescriptet hast?
Naja ein nur ein paar Beispiele von wesentlich mehr:
  • Datum berechnen in Batch = >20 Zeilen PS = Einzeiler
  • Windows Win32 Funktionen aufrufen? Geht mit Batch nicht, VBS auch nicht. Es gibt hier diverse nützliche Windows-Funktionen die mit keinem anderen Bordmittel genutzt werden können.
  • Event-Monitoring: Geht mit Batch nicht. In Powershell kann ich Filesystemwatcher nutzen um Dateien zu überwachen, jegliche andere Windows und Objektevents nutzen um auf Ereignisse sofort reagieren zu können, etc. pp
  • Batch kennt nur Text und integer, mehr nicht. Mit vielfältigen Variablentypen bist du flexibler schneller und hast wesentlich mehr Spielraum für Entfaltung.

Die Liste könnte ich beliebig erweitern, aber ob du davon den Großteil interpretieren könntest wage ich zu bezweifeln wenn du noch nie eine einzige Batch geschrieben hast.
Vorteile lernt man eben erst zu schätzen wenn man die Unterschiede in der Praxis selbst erfährt.
Penny.Cilin
Penny.Cilin 14.04.2017 um 11:11:30 Uhr
Goto Top
Zitat von @DerBaya:

Was machst du denn zum Beispiel heute mit der PS, was früher meinetwegen nicht ging oder nur sehr kompliziert war...?
Moin,

melde Dich einfach bei Microsoft Virtual Academy an, schau was die für Kurse an Powershell bieten.
Wenn Du in der Vergangenheit noch Aufgaben automatisiert per Skript (Batch, VBS, was auch immer) durchgeführt hast, wirst Du erstmal keinen Sinn von PS sehen.

Nur so als Beispiel: Dein Unternehmen stellt 100 neue Mitarbeiter ein. Du sollst diese alle im AD einrichten. Mache das mal ohne Skript. Dann bist Du verloren. Und wie bereits schon angemerkt, vieles kannst Du nur via PS bernünftig konfigurieren, bzw. kommst an diese Informationen ran.

Also tue Dir keinen Zwang an, melde Dich bei MS Virtual Academy an (kostet nichts), und dann hast Du Lernmöglichkeiten. Alternativ kannst Du Dir auch die Bücher von Tobias Weltner bzw. Holger Schwichtenberg bzgl. Einstieg in Powershell zulegen.


Gruss Penny
Marabunta
Marabunta 14.04.2017 um 13:48:28 Uhr
Goto Top
Neuere Windows Server Versionen bieten vieles nicht mehr über die Oberfläche an und können nur über PS-Befehle konfiguriert werden.
Automatisierung des Handbetriebs, vorallem wenn es mehr als 1 mal vorkommt.
132934
132934 14.04.2017 aktualisiert um 22:25:28 Uhr
Goto Top
Automatisierung ist bei Powershell einfach das Stichwort. Wenn du nur ganz wenige Server hast, die einfach laufen, dann braucht man Powershell ggf. auch gar nicht, denn man hat ja nichts, was man automatisieren könnte.

Hier mal ein sehr deutliches Beispiel für den Nutzen:

Ich arbeite bei einem Softwarehersteller und wir lassen beispielsweise über Powershell jeden Tag über 500 Testmaschinen bauen, teilweise vollständige VM's auf VMWare, teilweise Docker-Container. Das ist Teil unserer "continuous integration" Strategie. Der Entwickler compiliert seine Programmversion, es wird über Powershell automatisiert eine VM/Container erstellt, dort wird das Betriebssystem, die Software, die Testfälle, teilweise ganze Nano-Server Cluster mit eigenen VLANS etc. installiert, getestet, es gibt ein Prüfbericht und danach wird die Version entweder zum nächsten Test-Zyklus oder als Release freigegeben. Sehr viele Schritte davon sind in Powershell geskriptet (insb. die Erstellung der Maschinen und die Software Installation). Das ist ein vollautomatisierter Prozess und wir Admins ("DevOps") machen nichts anderes, als den Prozess aufrecht zu erhalten und anzupassen.

So viele Server, wie auf unserer Infrastruktur täglich gebaut und wieder weggeschmissen werden, könntest du mit einem 100 Mann Team nicht zur Verfügung stellen, wenn man es per "durcklicken" machen würde! Dank Skriptsprachen wie Powershell, Ruby, Python, Bash etc. und inzwischen sehr viel Software wie z. B. Docker, Puppet, Chef, Jenkins ist soetwas aber auch mit einem 5 Mann Team möglich zu stemmen, denn dann bauen sich die Sachen von alleine. Mal eben über Nacht eine geclusterte ERP Umgebung mit 10 Geschäftsprozessservern ausrollen? Kein Problem. Und Powershell spielt hier eine ganz entscheidende Rolle auf der Windows Plattform.

Was glaubst du denn wie die großen Cloud Rechenzentren im Hintergrund administriert werden? Denkst du da sitzen 20.000 Admins bei Microsoft Azure oder Amazon AWS die den ganzen Tag Installationsroutinen für den Kunden ad-hoc durchklicken? ^^ ... Natürlich nicht !

Das ist auch der Grund, warum Powershell immer wichtiger wird. Es ist ein Teil der "cloud first" Strategie von Microsoft die ab Windows Server 2016 eingeleitet wurde. Microsoft hat selbst gesagt, dass die "Click-Next"-Admins zukünftig brotlos sein werden, da sehr viele Funktionen nicht mehr über die GUI angeboten werden. Es lohnt sich also aufjedenfall, Powershell zu lernen, auch wenn man es vll. selbst gerade nicht unbedingt benötigt. Im nächsten Job könnte es schon ein Pflichtskill sein.
DerBaya
DerBaya 14.04.2017 aktualisiert um 22:54:15 Uhr
Goto Top
Danke Airine.
Deine ausführliche Antwort leuchtet auch ein face-smile
Dannn werde ich trotzdem mal dran bleiben und mir die restlichen 16h Basics reinhauen, auch wenn ich aktuell keinen Nutzen dafür habe. Aber zumindest weiss ich dann was machbar wäre face-smile

Und Danke auch an Penny.Cilin, die Acadamy schau ich mir auch mal an.