germanyuk
Präsenz + Online Schulungen: Bei uns, bei Ihnen oder online - Sie haben die Wahl!

Buchen Sie Ihr Wunschseminar als Präsenz-Schulung bei uns im Schulungszentrum in Köln, als Inhouse-Schulung bei Ihnen oder als Online-Training - ganz wie es für Sie am besten passt!

Mehr Infos
Stand 13.04.2021: Präsenz-Schulungen bis 18.04.2021 nicht gestattet. Alle Seminare finden ONLINE statt.

Was bedeutet PowerShell

Windows PowerShell ist die Microsoft- Shell (siehe auch Shell Training) , die die alte CMD-Funktionalität mit einem neuen Skript/Cmdlet-Anweisungssatz mit integrierter Systemverwaltungsfunktionalität kombiniert. PowerShell-Cmdlets ermöglichen es Benutzern und Administratoren, komplizierte Aufgaben mit wiederverwendbaren Skripts zu automatisieren. Systemadministratoren sparen durch die Automatisierung von Verwaltungsaufgaben mit PowerShell erheblich Zeit.

PowerShell verwendet Cmdlets, bei denen es sich um in sich geschlossene Programmierobjekte handelt, die die zugrunde liegenden Verwaltungsoptionen innerhalb von Windows (siehe Windows Seminar) offen legen. Vor PowerShell navigierten Systemadministratoren durch die GUI, um diese Optionen zu finden, und es gab keine Möglichkeit, den Workflow des Durchklickens durch die Menüs wiederzuverwenden, um Optionen in großem Umfang zu ändern.

PowerShell verwendet Pipes, um Cmdlets miteinander zu verketten und Ein-/Ausgabedaten auf die gleiche Weise wie andere Shells gemeinsam zu nutzen, wie z. B. bash unter Linux (mehr dazu Linux Seminar) . Mithilfe von Pipes können Benutzer komplexe Skripts erstellen, die Parameter und Daten von einem Cmdlet an ein anderes Cmdlet übergeben. Benutzer können wiederverwendbare Skripts erstellen, um Massenänderungen mit variablen Daten - z. B. eine Liste von Servern - zu automatisieren oder durchzuführen.

Eine der (vielen) netten Funktionen von PowerShell ist die Fähigkeit, Aliase für verschiedene Cmdlets zu erstellen. Aliase ermöglichen es einem Benutzer, ihre eigenen Namen für verschiedene Cmdlets oder Skripts zu konfigurieren, wodurch es für einen Benutzer einfacher wird, zwischen verschiedenen Shells hin- und herzuwechseln: "ls" ist ein Linux-Bash-Befehl, der Verzeichnisobjekte anzeigt, wie der Befehl "dir". In PowerShell sind sowohl "ls" als auch "dir" ein Alias für das Cmdlet "Get-ChildItem".

Für Systemadministratoren und andere IT-Funktionen ist PowerShell der richtige Weg. Es gibt in CMD keinen Befehl mehr, der nicht in PowerShell enthalten ist, und PowerShell enthält Cmdlets für alle Verwaltungsfunktionen, die Sie benötigen könnten. Softwareanbieter von Drittanbietern erweitern PowerShell mit benutzerdefinierten Cmdlets, wie das NetApp (siehe auch NetApp Seminar) PowerShell Toolkit zur Verwaltung von Data ONTAP.

PowerShell-Kenntnisse können ein Unterscheidungsmerkmal für eine Beschäftigung oder sogar eine Stellenanforderung sein, so dass es sich lohnt, in diese Fähigkeiten zu investieren.

Was ist die PowerShell Sprache?

Die PowerShell-Sprache ist eine proprietäre Programmiersyntax auf hoher Ebene, die von Microsoft für den Hauptzweck entwickelt wurde, Systemadministratoren in die Lage zu versetzen, Aktionen und Konfigurationen zu automatisieren. Die Sprache basiert auf objektorientierten Standards, kann aber nur in Windows-Umgebungen verwendet werden. Sie ist Teil des .NET-Frameworks und verfügt in der Regel über C#-Code, der ihren Funktionen zugrunde liegt, obwohl Kenntnisse in C# keine Voraussetzung für das Erlernen von PowerShell sind. Der engste Vergleich mit der PowerShell-Sprache ist Perl (mehr Infos Perl Schulungen) , das in ähnlichen Szenarien in Linux-Umgebungen verwendet wird.

Bei der PowerShell-Sprache wird jede eindeutige Funktion als Cmdlet bezeichnet. Ein Cmdlet verfügt über eine oder mehrere Gruppen von definierten Aktionen und kann ein .NET-Objekt zurückgeben. Einige der grundlegendsten Cmdlets, die mit PowerShell vorkonfiguriert geliefert werden, sind Cmdlets zum Navigieren durch eine Ordnerstruktur und zum Verschieben oder Kopieren von Dateien.

Was ist die PowerShell ISE?

Neue PowerShell-Cmdlet-Funktionen können in jedem Texteditor oder Textverarbeitungs-Tool geschrieben werden. Die neuesten Versionen des Windows-Betriebssystems enthalten jedoch ein Tool namens PowerShell ISE (Integrated Scripting Environment), um die Skripterstellung noch einfacher und robuster zu gestalten.

Wenn Sie die PowerShell ISE zum ersten Mal öffnen, kann sie wie ein vertrautes Befehlseingabefenster aussehen. Das Tool enthält jedoch viel mehr Funktionalität und Unterstützung für das Schreiben von Code. Die PowerShell ISE enthält eine vollständige Liste aller gängigen Module und Cmdlets, die Systemadministratoren möglicherweise verwenden müssen. Wenn Sie bereit sind, mit dem Schreiben Ihrer eigenen Cmdlet-Funktionen zu beginnen, können Sie mit dem Debugging-Werkzeug innerhalb der PowerShell ISE Ihren Code testen, Fehler oder Probleme identifizieren und dann an deren Behebung arbeiten. Wie andere Codierungsumgebungen ist die PowerShell ISE in hohem Maße anpassbar. Benutzer können das Farbschema, die Schriftart und das Thema wählen, die sie beim Schreiben von Skripten verwenden möchten. Neue Skripte, die in der ISE erstellt werden, erhalten die Dateierweiterung .psi, die nur in PowerShell-Umgebungen ausgeführt werden kann.

Die Skriptsprache in PowerShell wird Ihnen vertraut sein, wenn Sie die Windows-Eingabeaufforderung verwendet haben. 

Starten von PowerShell

In Windows Betriebssystem (siehe Betriebssystem Schulung) ist das Suchfeld eine der schnellsten Methoden (mehr Infos Methoden Schulung) zum Starten von PowerShell. Geben Sie in der Taskleiste in das Suchtextfeld PowerShell ein. Klicken oder tippen Sie dann auf das Ergebnis "Windows PowerShell".

Um PowerShell als Administrator auszuführen, klicken Sie mit der rechten Maustaste (Touchscreen-Benutzer: tippen und halten) auf das Windows PowerShell-Suchergebnis und klicken oder tippen Sie dann auf "Als Administrator ausführen".

Es gibt auch viele andere Möglichkeiten zum Starten einer PowerShell-Konsole, aber dies ist eine gute Methode für den Anfang.

Grundlegende Eigenschaften von PowerShell

Sobald Sie die grundlegenden Befehle beherrschen, können Sie mit dem Schreiben von Skripten beginnen. 
Wenn Sie zum ersten Mal mit PowerShell-Skripten arbeiten, funktioniert dies möglicherweise nicht. Das liegt daran, dass es eine systemweite Richtlinie gibt, die die Ausführung verhindert. Führen Sie diesen Befehl in PowerShell aus:

Get-ExecutionPolicy

Sie werden eine der folgenden Ausgaben sehen:
  •     Eingeschränkt - Es werden keine Skripte ausgeführt. Dies ist die Standardeinstellung in Windows, Sie müssen sie also ändern. 
  •     AllSigned- Sie können nur Skripte ausführen, die von einem vertrauenswürdigen Entwickler signiert wurden. Vor der Ausführung eines Skripts werden Sie dazu aufgefordert.
  •     RemoteSigned- Sie können Ihre eigenen Skripte oder von einem vertrauenswürdigen Entwickler signierte Skripte ausführen. 
  •     Uneingeschränkt - Sie können jedes beliebige Skript ausführen. Diese Option sollte aus offensichtlichen Gründen nicht verwendet werden.

Wie Sie PowerShell-Befehle finden

Die Leute lieben PowerShell, weil es so, na ja, mächtig ist. Aber diese Macht kommt von einer absolut wahnsinnigen Menge an Komplexität. Es ist einfach nicht machbar oder praktisch, dass sich jemand all die verschiedenen Befehle, Cmdlets, Flags, Filter und andere Möglichkeiten, PowerShell zu sagen, was zu tun ist, merken kann.

Glücklicherweise sind direkt im Editor mehrere Werkzeuge eingebaut, die Ihnen helfen, mit dieser Tatsache umzugehen.

Tab Vervollständigung
Es ist nicht nötig, sich alle verschiedenen Befehle oder die genaue Schreibweise eines Befehls zu merken. Geben Sie get-c in den Editor ein und drücken Sie die TAB-Taste - Sie werden alle Befehle durchlaufen, beginnend mit dem, was Sie bisher eingegeben haben. Dies funktioniert bei jedem Abschnitt des Befehls, den Sie aufrufen wollen, dem Namen (wie unten gezeigt), aber auch bei Flags und Pfaden, die Sie manipulieren, um das gewünschte Ergebnis zu erzielen.

Befehl holen -

Das Ausfüllen der Tabs funktioniert zwar gut, aber was passiert, wenn Sie den Namen des gesuchten Befehls nicht kennen? In diesem Fall würden Sie einen Befehl verwenden, um andere Befehle zu finden: Bei der Suche nach Befehlen ist es wichtig, sich vor Augen zu halten, dass es eine Syntax für sie gibt: VERB-NOUN. Typischerweise sind die Verben Begriffe wie "Holen", "Setzen", "Hinzufügen", "Löschen", "Schreiben" und "Lesen", und die Substantive sind die Dateien, Server oder andere Elemente innerhalb Ihres Netzwerks und Ihrer Anwendungen. 

Die Ausgabe ist objektbasiert

Im Gegensatz zu herkömmlichen Befehlszeilenschnittstellen sind PowerShell-Cmdlets für den Umgang mit Objekten konzipiert. Ein Objekt ist eine strukturierte Information, die mehr als nur die Zeichenfolge ist, die auf dem Bildschirm angezeigt wird. Die Befehlsausgabe enthält immer zusätzliche Informationen, die Sie bei Bedarf verwenden können.

Wenn Sie in der Vergangenheit zur Datenverarbeitung Textverarbeitungswerkzeuge verwendet haben, werden Sie feststellen, dass sich diese bei der Verwendung in PowerShell anders verhalten. In den meisten Fällen benötigen Sie keine Textverarbeitungswerkzeuge, um bestimmte Informationen zu extrahieren. Sie greifen unter Verwendung der standardmäßigen PowerShell-Objektsyntax direkt auf Teile der Daten zu.


Unterstützung für Befehls-Aliase
PowerShell unterstützt Aliase, um auf Befehle mit alternativen Namen zu verweisen. Aliasing ermöglicht es Benutzern mit Erfahrung in anderen Shells, allgemeine Befehlsnamen zu verwenden, die sie bereits für ähnliche Operationen in PowerShell kennen.

Durch Aliasing wird ein neuer Name mit einem anderen Befehl verknüpft. Beispielsweise verfügt PowerShell über eine interne Funktion namens Clear-Host, die das Ausgabefenster löscht. Sie können an einer Eingabeaufforderung entweder den cls- oder den Clear-Alias-Befehl eingeben. PowerShell interpretiert diese Aliase und führt die Clear-Host-Funktion aus.
Diese Funktion hilft Benutzern beim Erlernen von PowerShell. Erstens verfügen die meisten cmd.exe- und Unix-Benutzer über ein großes Repertoire an Befehlen, die den Benutzern bereits namentlich bekannt sind. Die PowerShell-Äquivalente führen möglicherweise nicht zu identischen Ergebnissen. Die Ergebnisse sind jedoch nahe genug, dass Benutzer auch ohne Kenntnis des PowerShell-Befehlsnamens arbeiten können. "Muskelgedächtnis" ist eine weitere Hauptquelle der Frustration beim Erlernen einer neuen Befehlsshell. Wenn Sie cmd.exe seit Jahren verwendet haben, geben Sie den cls-Befehl möglicherweise reflexartig ein, um den Bildschirm zu löschen. Ohne den Alias für "Clear-Host" erhalten Sie eine Fehlermeldung und wissen nicht, was Sie tun müssen, um die Ausgabe zu löschen.

PowerShell hat eine Pipeline
Pipelines sind wohl das wertvollste Konzept, das bei Kommandozeilen-Schnittstellen verwendet wird. Wenn Pipelines richtig eingesetzt werden, reduzieren sie den Aufwand für die Verwendung komplexer Befehle und erleichtern die Übersicht über den Arbeitsfluss. Jeder Befehl in einer Pipeline gibt seine Ausgabe Punkt für Punkt an den nächsten Befehl weiter. Die Befehle müssen nicht mehr als ein Element auf einmal verarbeiten. Das Ergebnis ist ein geringerer Ressourcenverbrauch und die Möglichkeit, die Ausgabe sofort zu erhalten.

Die für Pipelines verwendete Notation ist ähnlich der Notation, die in anderen Shells verwendet wird. Auf den ersten Blick ist es vielleicht nicht ersichtlich, wie sich Pipelines in PowerShell unterscheiden. Obwohl Sie Text auf dem Bildschirm sehen, pipettiert PowerShell nicht Text, sondern Objekte zwischen Befehlen.


Eine lange Zeichenfolge vs. Objekteigenschaften

Server nützen niemandem etwas, wenn sie nicht online sind. Während die Ausgabe von ping nützlich ist (und Sie können ping innerhalb von PowerShell verwenden), ist die Ausgabe am Ende des Tages nur eine große Zeichenfolge - eine Reihe von Buchstaben- und Zahlenzeichen ohne bestimmte Pausen dazwischen). 
PowerShell verfügt über einen Befehl, der analog zu ping ist, aber Daten zurückgibt, die strukturiert sind, so dass es einfach zu handhaben ist. Dieser Befehl ist Test-Connection.

Bemerkung
Es ist zu hoffen, dass die Powershell Schulungen Ihnen alles geben, was Sie für den Start mit PowerShell-Skripten benötigen. Sobald Sie die Grundlagen der PowerShell-Syntax beherrschen, ist die Arbeit mit Skripten ziemlich einfach: Stellen Sie einfach sicher, dass Sie alle Ihre Skripte organisiert halten, und benennen Sie sie so, dass es offensichtlich ist, was sie tun. Auf diese Weise werden Sie nicht verwirrt.

Haben Sie Fragen?
  • 0221 82 80 90
  • Chat offline
93.608
TEILNEHMENDE
1.577
SEMINARTHEMEN
24.692
DURCHGEFÜHRTE SEMINARE
aegallianzaxabayerElement 1boschdeutsche-bankdeutsche-postdouglasfordfujitsuhenkelhermeslufthansamercedesnokiasonytelekomvwzdf