PowerShell ist eine objektorientierte Skript- und Programmiersprache für die Administration von Windows. Man arbeitet dabei mit der Kommandoeingabe, auch CLI genannt.
PowerShell ist sehr mächtig. Gründe dafür sind:
Cmdlets, auch Commandlets genannt, ist die Bezeichnung für Befehle in der PowerShell. Wenn wir Skripte mit Cmdlets schreiben, können wir diese mit if-Bedingungen, Schleifen und Funktionen steuern. Aus diesem Grund ist PowerShell nicht nur eine Skript-, sondern auch eine Programmmiersprache.
Die PowerShell hat eine sehr simple Syntax, sprich Bauform der Kommandos. Zum Beispiel das Cmdlet Set-Location kann man nutzen um den Zielpfad zu setzen. Um die Cmdlets zu verstehen, sind Grundkenntnisse der englischen Sprache von Vorteil. Werden aber in diesem Tutorial nicht vorausgesetzt.
Ebenfalls bei Windows integriert, ist die PowerShell ISE. ISE steht für "Integrated Scripting Environment", auf Deutsch: integrierte Skript-Umgebung. Wie der Name schon sagt, hier werden Skripte geschrieben bzw. eine Abfolge von Kommandos in einer Textdatei gespeichert. Dabei ist das Code-Highlighting sehr nützlich. Code-Highlighting bedeutet, dass Schlüsselwörter und Kommandos in Farben angezeigt werden. Dies hilft der Übersichtlichkeit.
Um den Pfand zu ändern, in dem wir uns befinden, nutzen wir Set-Location. Kommentare werden mit einem # davor geschrieben:
PS C:\Program Files> Set-Location C:\ # Wechsel des Pfads
PS C:\> # Aktueller Pfad
Wie wir sehen, wird hier das Verb-Nomen Prinzip angewendet. Dabei ist Set das Verb und Location das Nomen. Wenn wir alle Kommandos ansehen möchten, welche das Verb Set anzubieten hat, geben wir ein:
PS C:\> Get-Command -Verb Set
CommandType Name Version Source
----------- ---- ------- ------
Alias Set-AppPackageDefaultVolume 2.0.1.0 Appx
Alias Set-AppPackageProvisionedDataFile 3.0 Dism
Alias Set-AutologgerConfig 1.0.0.0 EventTracingM...
Alias Set-EtwTraceSession 1.0.0.0 EventTracingM...
Alias Set-ProvisionedAppPackageDataFile 3.0 Dism
Alias Set-ProvisionedAppXDataFile 3.0 Dism
Function Set-BCAuthentication 1.0.0.0 BranchCache
Function Set-BCCache 1.0.0.0 BranchCache
Function Set-BCDataCacheEntryMaxAge 1.0.0.0 BranchCache
...
Wir sehen, wir erhalten eine komplette Liste aller Set-Befehle. Das selbe Prinzip mit dem Nomen Location:
PS C:\> Get-Command -Noun Location
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-Location 3.1.0.0 Microsoft.Pow...
Cmdlet Pop-Location 3.1.0.0 Microsoft.Pow...
Cmdlet Push-Location 3.1.0.0 Microsoft.Pow...
Cmdlet Set-Location 3.1.0.0 Microsoft.Pow...
Hier erhalten wir nur 4 Kommandos, welche das Nomen Location beinhalten. Nun ist der Bildschirm jedoch ziemlich voller Text. Wenn man die Anzeige wieder leeren möchte, hilft der Befehl Clear-Host:
S C:\> Clear-Host
Die Anzeige ist nun wieder sauber und bereit für neue Kommandos.