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.
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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 335130
Url: https://administrator.de/contentid/335130
Ausgedruckt am: 25.11.2024 um 17:11 Uhr
15 Kommentare
Neuester Kommentar
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
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
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
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
Ohh da lässt sich ein ganzes Buch von schreiben...
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ß
- 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ß
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.Aber mehr auch noch nicht. Ich habe jetzt auch hier noch kein Argument gelesen, was PS wirklich sinnvoll erscheinen lässt.
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.
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.
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 .
So long, Frohe Ostern, und viel Spaß beim Skripten!
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 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 .
So long, Frohe Ostern, und viel Spaß beim Skripten!
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?Was machst du denn zum Beispiel heute mit der PS, was früher meinetwegen nicht ging oder nur sehr kompliziert war...?
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.
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,Was machst du denn zum Beispiel heute mit der PS, was früher meinetwegen nicht ging oder nur sehr kompliziert war...?
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
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.
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.