PowerShell-Scripts ausführen

PowerShell ThumbnailMit PowerShell hat Microsoft der „guten alten“ cmd.exe einen mächtigen Nachfolger verschafft, und deren Anwendung und Beherrschung wird für Administratoren Pflicht: Für Microsoft-Server-Software wie Exchange oder SQL wird die Möglichkeit der Administration per PowerShell Standard, und wer Windows Server Core verwenden will, kommt trotz der Möglichkeit, einige grundlegende administrative Arbeiten auch mit grafischen Tools zu erledigen, ohne PowerShell-Kenntnisse nicht besonders weit.

PowerShell bietet vollen Zugriff auf COM und WMI, um administrative Arbeiten am lokalen und an entfernten Rechnern zu ermöglichen. Bisherigen cmd.exe- und VBScript-Anwendern wird die Bedienphilosophie anfangs ein wenig fremd vorkommen. Folgende Tipps verhelfen zu einem raschen Einstieg.

PowerShell 2.0 installieren

Die aktuelle Version von PowerShell ist 2.0. Sie ist Bestandteil von Windows 7 und Windows Server 2008 R2. Für Windows XP SP3, Windows Vista SP1, Windows Server 2003 SP2 und Windows Server 2008 kann sie hier heruntergeladen werden, sowohl als 32-Bit- als auch als 64-Bit-Version.

Microsoft bietet zu PowerShell 2.0 die komplette Referenz im TechNet an. Ein sehr guter Einstieg, um sich mit der Shell und ihren Prinzipien vertraut zu machen und etwas Beispiel-Code einzusehen, ist auch Microsofts PowerShell-Scriptcenter.

PowerShell-Scripts zulassen

Heruntergeladene Scripts stuft PowerShell anders ein als lokaleUnmittelbar nach dem Speichern seines ersten Scripts wird der neue PowerShell-Anwender feststellen, dass es sich nicht ausführen lässt. PowerShell ist per Voreinstellung sicher und führt nur direkt eingegebene Befehle, aber keine Scripts aus. Dies muss man erst ermöglichen, indem man innerhalb einer mit Administrator-Rechten aufgerufenen PowerShell die execution policy mittels des Befehls

Set-ExecutionPolicy ‹policy›

festlegt. Der Wert für ‹policy› ist per Voreinstellung Restricted, das heißt PowerShell führt Scripts nicht aus. Weitere mögliche Parameter, mit denen man die Ausführung zulassen kann, sind:

AllSigned
Führt alle Scripts mit einer digitalen Signatur aus. Wenn die signierende Stelle nicht bekannt ist, fragt PowerShell per Prompt, ob dem Herausgeber vertraut werden soll.
RemoteSigned
Erfordert eine digitale Signatur für aus dem Internet heruntergeladene Scripts, lokal erstellte Scripts werden immer ausgeführt.
Unrestricted
Führt alle Scripts aus; für nicht signierte, aus dem Internet heruntergeladene Scripts wird eine Warnung ausgegeben.

Den gegenwärtigen Status erfährt man mit

Get-ExecutionPolicy

Um zu unterscheiden, welche Scripts aus dem Internet stammen, bedient sich PowerShell der NTFS-Streams, die dies auch für andere heruntergeladene ausführbare Dateien anzeigen. Man kann diesen Stream von einer Datei entfernen, indem man per Kontextmenü ihre Eigenschaften aufruft und auf der Registerkarte „Allgemein“ die Schaltfläche „Zulassen“ betätigt.

PowerShell-Scripts ausführen

Gegenüber dem Ausführen eines Scripts etwa in cmd.exe gibt es bei PowerShell noch zwei weitere wichtige Unterschiede:

  1. Powershell führt nur Scripts aus, die sich in der Umgebungsvariablen PATH befinden. Im aktuellen Verzeichnis befindliche Scripts fallen nicht darunter und müssen gegebenenfalls in der Form .\script.ps1 aufgerufen werden.
  2. Leerzeichen in Datei-und Verzeichnisnamen können nicht einfach in Anführungszeichen eingeschlossen werden, PowerShell interpretiert dies dann als String und gibt den Script-Aufruf einfach als Ausgabe zurück.Script-Namen, die Leerzeichen enthalten, müssen dem Operator „&“ zur Ausführung übergeben werden Vor wegen Leerzeichen in Anführungszeichen eingeschlossene Datei- und Verzeichnisnamen muss deshalb stets der Ausführungsoperator &, damit PowerShell weiß, dass der nun folgende String ausgeführt werden soll. Die Shell hilft hier allerdings mit uns setzt bei der Tab-Vervollständigung von Datei- und Verzeichnisnamen bei Bedarf sowohl die Anführungszeichen als auch das &.

Keine Kommentare

Kommentar hinzufügen

Der Inhalt dieses Feldes wird nicht öffentlich zugänglich angezeigt. Wenn mit der von Ihren angegebenen Mail-Adresse ein Gravatar verknüpft ist, dann wird dieser neben Ihrem Kommentar eingeblendet.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Zeilen und Absätze werden automatisch erzeugt.
  • Mail-Adressen werden im Seitenquelltext unkenntlich gemacht, um sie vor dem automatischen Erfassen durch Spammer zu schützen.

Weitere Informationen über Formatierungsoptionen