PowerShell Grundlagen

Prozesse

Mit folgendem Befehl wird Notepad gestartet und die Prozess ID aufgeführt. Mit Stop-Process wird Notepad wieder beendet.

PS C:\> notepad
PS C:\> Get-Process notepad

Handles  NPM(K)    PM(K)      WS(K)     CPU(s)     Id  SI ProcessName
-------  ------    -----      -----     ------     --  -- -----------
    243      13     3044      14516       0.06  25732  14 notepad


PS C:\> Stop-Process -id 25732
PS C:\>

PowerShell Version

Die Version von PowerShell kann folgendermassen angezeigt werden.

PS C:\> PowerShell -version 1
Die Version v2.0.50727 von .NET Framework ist nicht installiert. Diese Version wird benötigt, um die Version 1 von Windows PowerShell auszuführen.
PS C:\>

Datum und Uhrzeit anzeigen

Für Befehle oder Skripte kann es hilfreich sein, dass Datum und die Uhrzeit anzuzeigen.

PS C:\> Get-Date

Samstag, 28. November 2020 18:34:33

PS C:\>

Alias setzen

Wenn man einen kürzeren Befehl einsetzen möchte für Get-Help, z.B. nur gh, dann kann man einen Alias dafür erstellen.

PS C:\> Set-Alias gh Get-Help
PS C:\> gh

THEMA
    Hilfesystem zu Windows PowerShell
	...

Get-Alias

Wenn wir wissen möchten, wofür ein Alias steht, können wir Get-Alias verwenden:

PS C:\> Get-Alias dir

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           dir -> Get-ChildItem


PS C:\> Get-Alias cls

CommandType     Name                                               Version    Source                                                  
-----------     ----                                               -------    ------                                                  
Alias           cls -> Clear-Host                                                                                                     

Get-Alias ohne Parameter gibt alle Aliase aus, welche gesetzt wurden!

Format-List

Mit Format-List werden noch weitere Informationen anzeigt, statt nur eine Auflistung.

PS C:\> dir


    Verzeichnis: C:\


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        28.11.2020     15:56                HauptOrdner
d-----        07.12.2019     10:14                PerfLogs
d-r---        03.10.2020     21:12                Program Files
d-r---        03.10.2020     20:49                Program Files (x86)
d-r---        25.09.2020     19:30                Users
d-----        28.11.2020     18:27                WeitererOrdner
d-----        15.11.2020     18:41                Windows
d-----        19.11.2020     16:04                xampp


PS C:\> dir | Format-List


    Verzeichnis: C:\



Name           : HauptOrdner
CreationTime   : 28.11.2020 14:29:59
LastWriteTime  : 28.11.2020 15:56:09
LastAccessTime : 28.11.2020 16:04:30
Mode           : d-----
LinkType       :
Target         : {}

Name           : PerfLogs
CreationTime   : 07.12.2019 10:14:52
LastWriteTime  : 07.12.2019 10:14:52
LastAccessTime : 23.11.2020 15:27:06
Mode           : d-----
LinkType       :
Target         : {}
...

dir -Recurse

Mit dem Parameter -Recurse können wir rekursiv alle Dateien, Unterordner und Unterdateien anzeigen.

PS C:\> dir -Recurse

Variable erstellen

Mit Set-Variable können Variablen mit Werten versehen werden. Hier ein Beispiel:

PS C:\> Set-Variable hi -value "Hallo Welt!"
PS C:\> Get-Variable hi

Name                           Value
----                           -----
hi                             Hallo Welt!


PS C:\> Remove-Variable hi
PS C:\>
Kommando abbrechen: Mit Ctrl-C kann man nicht nur kopieren, sonder die momentane Aktion abbrechen.