Windows PowerShell ist eine Windows-Befehlszeilenshell, die insbesondere für Systemadministratoren konzipiert ist. Windows PowerShell umfasst eine interaktive Eingabeaufforderung und eine Skriptumgebung, die einzeln oder in Kombination verwendet werden können.
Anders als die meisten Shells, in denen Text akzeptiert und zurückgegeben wird, setzt Windows PowerShell auf der .NET Framework Common Language Runtime (CLR) und auf .NET Framework auf und akzeptiert .NET Framework-Objekte bzw. gibt .NET Framework-Objekte zurück. Diese grundlegende Änderung in der Umgebung bedingt völlig neue Tools und Methoden für die Verwaltung und Konfiguration von Windows.
Windows PowerShell führt das Konzept eines Cmdlets (ausgesprochen als „Command-let“) ein. Dies ist ein einfaches Einzelfunktions-Befehlszeilentool, das in die Shell integriert ist [Quelle].
Erste Schritte mit der Powershell
Dieses „Erste Schritte“-Handbuch bietet eine Einführung in Windows PowerShell: die Sprache, die Cmdlets, die Anbieter und die Verwendung von Objekten.
1. Anwendungsbeispiel: Download einer beliebigen Datei aus dem Internet
Für diesen Befehl benötigt man die vollständige, voll qualifizierte URL sowie den Dateinamen, unter welchem der Download gespeichert werden soll. Je nach Ausführungsort des Befehls muss zusätzlich der Pfad zur Zieldatei angegeben werden.
Invoke-WebRequest http://www.example.com/package.zip -OutFile package.zip
Der Befehl kann in einer PowerShell-Datei mit der Endung .ps abgespeichert und z.B. mit dem Windows-Tool Scheduled Tasks automatisiert werden.
2. Anwendungsbeispiel: Ändern von BasicFileAttributes (Erstellungs-, Änderungs- oder Zugriffsdatum)
Dieser Befehl ändert genannte Dateiattribute auf das angegebene Datum, zum Beispiel:
PS C:\temp> (Get-Item Notes.txt).lastwritetime=$(Get-Date "1/2/2016 12:34 am")
PS C:\temp> (Get-Item Notes.txt).creationtime=$(Get-Date "1/2/2016 12:34 am")
PS C:\temp> (Get-Item Notes.txt).lastaccesstime=$(Get-Date "1/2/2016 12:34 am")