Sie sind auf Seite 1von 2

FAQ  |  PowerShell

FAQ PowerShell
Unter Windows sind viele Aufgaben per Tastatur schneller erledigt als per
Mausschubserei. Mit der veralteten Eingabeaufforderung muss man sich dazu
schon lange nicht mehr herumplagen: Die PowerShell ist eine moderne und
mächtige Alternative.

Von Hajo Schulz

Für wen? en und Ordnern sind bis auf einige Optio­ Zwei Versionen
nen identisch mit denen in der Eingabe­
Was genau ist eigentlich die Power­ aufforderung. Darüber hinaus kennt die Wenn ich die PowerShell starte, die in
Shell? Lohnt es sich, dass ich mich PowerShell Hunderte weiterer Befehle – Windows eingebaut ist, weist sie mich
damit beschäftige? sogenannte Cmdlets –, mit denen man jedes Mal darauf hin, dass ich doch mal die
nicht nur auf das lokale System, sondern „neue plattformübergreifende Power­
Beliebt ist die PowerShell vor allem bei auch remote auf andere Rechner im Netz­ Shell“ ausprobieren solle. Was hat es damit
Systemadministratoren und Power-­ werk zugreifen kann. auf sich?
Usern, die damit zahlreiche Verwaltungs- Ein deutlicher Unterschied zeigt sich
und Wartungsaufgaben rund um das Be­ auch bei der eingebauten Skriptsprache: Von der PowerShell existieren zwei
triebssystem schneller und effizienter er­ Während man der Batch-Sprache der klas­ voneinander unabhängige Entwick­
ledigen als mit grafischen Programmen sischen Eingabeaufforderung ihr Alter lungszweige: Bestandteil von Windows ist
und Mausbedienung. mittlerweile doch deutlich anmerkt, die PowerShell 5; offiziell heißt sie bei Mi­
An der Oberfläche besteht die Power­ kommt die PowerShell mit einer Skript­ crosoft „Windows PowerShell“. Unabhän­
Shell aus einem Textfenster, in das man sprache, die diese Bezeichnung auch ver­ gig davon ist – ebenfalls unter Microsofts
Befehle eintippt und deren Ergebnisse in dient. Übliche Kontrollstrukturen wie if- Führung – eine komplett quelloffene Ver­
Form von Text entgegennimmt. Der Ge­ Abfragen und Schleifen gibt es ebenso wie sion der PowerShell entstanden, die an­
schwindigkeitsgewinn gegenüber GUI- etwa Zeichenkettenverarbeitung mit re­ fangs „PowerShell Core“ hieß, mittlerwei­
Programmen resultiert unter anderem gulären Ausdrücken. Außerdem stehen le aber einfach unter „PowerShell“ fir­
daraus, dass man damit in einem einzigen der PowerShell sämtliche Klassen und miert. Derzeit ist Version 7.1 aktuell. Diese
Fenster praktisch sämtliche anfallenden Funktionen der Programmierumgebung Version der PowerShell läuft nicht nur
Admin-Jobs erledigen kann. Entscheidend .NET zu Gebote, über die sich sogar Win­ unter Windows, sondern auch unter
ist außerdem, dass man sich ständig wie­ dows-Systemfunktionen aufrufen lassen. macOS und Linux.
derholende Befehlsfolgen in Skripten zu­
sammenfassen und so in einem Rutsch
abarbeiten lassen kann.

Besser als
Eingabeaufforderung?
Ihre Beschreibung der PowerShell er­
innert mich sehr an die Eingabeauf­
forderung. Wo ist der Unterschied?

Tatsächlich ähnelt sich der grundsätz­


liche Umgang mit Eingabeaufforde­
rung und PowerShell. Allerdings besitzt
die PowerShell einen wesentlich größeren
Befehlsumfang: Externe (Konsolen- und
GUI-)Programme lassen sich wie gewohnt
durch Eingabe ihres Namens aufrufen.
Gängige Befehle zum Navigieren im Da­
teisystem oder zum Anlegen, Kopieren, Die schlichte Bedienoberfläche der PowerShell lässt kaum etwas
Verschieben und Umbenennen von Datei­ von ihrer Mächtigkeit erkennen.

© Copyright by Heise Medien.

178 c’t 2021, Heft 25


Persönliches PDF für Armando Urquiola Cabrera aus 10439 Berlin
PowerShell  | FAQ

Microsoft hat angekündigt, die Win­ ziehen: Der Versuch, selbst das einfachste Erweitern
dows PowerShell auf absehbare Zeit noch Skript auszuführen, führt zu einer Fehler­
mit Windows auszuliefern und weiterhin meldung, die besagt, dass das Ausführen Ich vermisse einen Befehl, mit dem
mit Sicherheits-Updates zu versorgen. von Skripten auf diesem System deakti­ ich XY erledigen kann. Kennen Sie
Neue Funktionen soll es dort aber nicht viert sei. Was ist da los? einen?
mehr geben; echte Weiterentwicklung fin­
det nur noch in der Open-Source-Variante Dieses Problem tritt praktisch nur mit Für die Suche nach PowerShell-Be­
statt. Gerade wenn Sie sich neu in die der Windows PowerShell auf: Micro­ fehlen ist das Kommando Get-Command
Power­Shell einarbeiten wollen, ist letztere soft konfiguriert sie aus Sicherheitsgrün­ oder kurz gcm zuständig. Außerdem ist
also die bessere Wahl. den im Auslieferungszustand so, dass sie hilfreich, dass Microsoft Cmdlets und
das Ausführen jeglicher Skripte verwei­ Funktionen durchgängig nach dem Sche­
gert. ma Verb-Nomen benennt. So liefert Get-Par­
Woher nehmen? Beheben lässt sich das, indem Sie die tition Informationen zu Festplatten-
Windows PowerShell einmal mit Adminis­ oder SSD-Partitionen und Suspend-VM hält
Wie komme ich an eine aktuelle tratorrechten starten und den Befehl eine (Hyper-V-)VM an. Mit Suchen nach
Power­Shell? dem Muster gcm -Verb Enable oder gcm
Set-ExecutionPolicy RemoteSigned -Noun Certificate suchen Sie nach be­
Die Windows PowerShell ist schon stimmten Verben beziehungsweise
seit etlichen Betriebssystemver­ ausführen. Er bewirkt, dass ab sofort alle Nomen. Alle Varianten verarbeiten Joker­
sionen in Windows enthalten, sowohl in Skripte erlaubt sind, sofern sie eine ver­ zeichen, wie Sie sie von Dateien her ken­
den Desktop-Ausgaben als auch in Win­ trauenswürdige Signatur tragen oder nicht nen, also etwa gcm -Noun Bitlocker*. Eine
dows Server. Starten können Sie sie als aus dem Internet stammend gekenn­ Liste der von Microsoft verwendeten
­einfach über das Windows+X-Menü oder zeichnet sind. Mit Bypass statt RemoteSigned Verben liefert Get-Verb.
mit der Eingabe powershell im Win­ schalten Sie die Skriptprüfung komplett In der Ausgabe von Get-Command gibt es
dows+R-Dialog oder in das Suchfeld des auf Durchzug, mit Restricted stellen Sie eine Spalte „Source“, die das Modul be­
Startmenüs. den Auslieferungszustand wieder her. nennt, aus dem der jeweilige Befehl
Für die PowerShell 7 gibt es zwei Dieselben Befehle und Optionen gelten stammt. So finden Sie verwandte Befehle
Download-Quellen: Zum einen ist sie im auch für die PowerShell 7, aber dort ist zu einem Suchtreffer, indem Sie die Suche
Windows-eigenen Microsoft Store ver­ RemoteSigned voreingestellt. Weitere Er­ nach dem Muster gcm -Module Storage auf
fügbar, wo Sie sie einfach wie eine App klärungen zu dem Thema stehen im Arti­ ein bestimmtes Modul einschränken.
herunterladen und installieren können. kel „about_Execution_Policies“ in der On­ Selbst wenn Sie auf diese Weise bei
Zum anderen gibt es installierbare Pake­ line-Doku zur PowerShell (siehe ct.de/ den eingebauten Befehlen nicht fündig
te – auch für andere Plattformen als Win­ yufx). werden, sollten Sie noch nicht aufgeben:
dows – auf GitHub (siehe ct.de/yufx). Für Die PowerShell lässt sich um weitere
Windows bekommen Sie unter den „Re­ ­Module erweitern und die Chancen ste­
leases“ wahlweise ein MSI-Paket, das Ist die PowerShell böse? hen nicht schlecht, dass es so ein Modul
Pfade und Verknüpfungen automatisch auch für Ihr Problem gibt. Die größte
einrichtet, oder ein Zip-Archiv, bei dem Ich habe gelesen, Hacker benutzen die Quelle für Module von Microsoft selbst
Sie alles von Hand einstellen können (und PowerShell gerne als Werkzeug für oder aus der Benutzer-Community ist die
müssen). Insgesamt die wenigste Arbeit Angriffe. Ist sie ein Sicherheitsrisiko? PSGallery. Deren Inhalt können Sie
macht aber die Installation aus dem wahlweise per Browser auf der Seite
Store, weil sie sich auch automatisch um Nein. Wie alle Tools, die eigenen Code power­shellgallery.com oder direkt in der
Aktualisierungen kümmert. Achtung: So­ ausführen, lässt sie sich natürlich auch ­PowerShell mit dem Befehl Find-Module
wohl im Store als auch auf GitHub gibt es für böse Absichten missbrauchen. Grund­ durchsuchen. Letzterer verdaut ebenfalls
neben der offiziell freigegebenen Version sätzlich ist sie aber nicht unsicherer als Jokerzeichen: Wenn Sie etwa in der
auch eine „PowerShell Preview“ zum Batch-Dateien oder jegliche Programme ­PowerShell Mails lesen wollen, lautet der
Testen der allerneuesten Entwicklungen; aus dem Internet. passende Suchbefehl Find-Module *imap*.
für den produktiven Einsatz ist die aber Wie bei Programmen gilt aber auch Ausführlichere Modulbeschreibungen
nicht zu empfehlen. Der Befehl zum Star­ bei PowerShell-Skripten und -Modulen: und meist auch mehr Suchergebnisse lie­
ten der PowerShell 7 aus einer Eingabe­ Allzu sorglos heruntergeladen und – wo­ fert aber die Webseite. Haben Sie eine
aufforderung oder einem Suchfenster möglich noch mit Administratorrechten passende Erweiterung gefunden, können
lautet pwsh. – ausgeführt können sie durchaus eine Sie sie mit Install-Module Modulname in­
Gefahr darstellen. Sie sollten nur verwen­ stallieren. Wenn Sie noch -Scope Current­
den, was aus vertrauenswürdiger Quelle User an den Befehl anhängen, landet das
Scripting kaputt? stammt. Bei Skripten haben Sie sogar Modul in Ihrem Benutzerprofil und
noch den Vorteil, dass es sich um ganz Sie brauchen zur Installation keine Ad­
Ich habe auf einer Webseite ein biss­ normale Textdateien handelt. Sie können ministratorrechte.   (hos@ct.de)
chen über PowerShell-Scripting ge­ sie also mit jedem Texteditor lesen und
lesen. Allerdings gelingt es mir nicht, die prüfen, ob sie das tun, was ihr Entwickler Downloads und Dokumentation:
dort beschriebenen Beispiele nachzuvoll­ verspricht. ct.de/yufx

© Copyright by Heise Medien.

c’t 2021, Heft 25 179


Persönliches PDF für Armando Urquiola Cabrera aus 10439 Berlin

Das könnte Ihnen auch gefallen