PowerShell Grundlagen-Tutorial

PowerShell ist ein leistungsstarkes Tool von Microsoft, das zur Automatisierung von Aufgaben und Verwaltung von Windows-Umgebungen verwendet wird. Es basiert auf der .NET-Plattform und kombiniert eine Kommandozeilen-Shell mit einer Skriptsprache. In diesem Tutorial wirst du die Grundlagen von PowerShell und die wichtigsten Befehle kennenlernen, um loszulegen.


1. Was ist PowerShell?

  • Shell: Eine Kommandozeilenschnittstelle (CLI) für die direkte Interaktion mit dem Betriebssystem.
  • Skriptsprache: PowerShell unterstützt eine vollwertige Skriptsprache, die auf der .NET-Architektur basiert, was eine weitreichende Steuerung von Windows- und Server-Umgebungen ermöglicht.

2. PowerShell starten

  1. Aufrufen: Drücke Win + X und wähle PowerShell oder öffne es über die Suchleiste mit dem Befehl powershell.
  2. Administratorrechte: Um bestimmte Befehle auszuführen, musst du PowerShell als Administrator ausführen. Dazu klickst du mit der rechten Maustaste auf PowerShell und wählst „Als Administrator ausführen“.

3. Grundlegende PowerShell-Befehle

3.1 Hilfe abrufen: Get-Help

PowerShell verfügt über eine integrierte Hilfe, ähnlich wie man-Seiten in Linux.

Get-Help Befehl

Beispiel: Hilfe zum Get-Process-Befehl anzeigen:

Get-Help Get-Process

Falls die ausführliche Dokumentation nicht angezeigt wird, kannst du die neueste Hilfe herunterladen mit:

Update-Help

3.2 Liste von Befehlen anzeigen: Get-Command

Um alle verfügbaren PowerShell-Cmdlets (Befehle) zu sehen, verwende:

Get-Command

Du kannst auch bestimmte Cmdlets basierend auf Stichwörtern filtern:

Get-Command *process*

3.3 Informationen über Objekte: Get-Member

PowerShell basiert auf Objekten. Mit Get-Member kannst du die Eigenschaften und Methoden eines Objekts anzeigen.

Get-Process | Get-Member

4. Arbeiten mit Cmdlets

4.1 Prozesse anzeigen: Get-Process

Um alle laufenden Prozesse auf deinem Computer zu sehen, benutze:

Get-Process

Du kannst auch nach einem bestimmten Prozess filtern, z.B. nach Notepad:

Get-Process notepad

4.2 Dienste verwalten: Get-Service

Zeigt alle Dienste auf dem System an:

Get-Service

Um einen bestimmten Dienst anzuzeigen:

Get-Service -Name "wuauserv"  # Windows Update-Dienst

4.3 Verzeichnisse durchsuchen: Get-ChildItem (alias ls, dir)

Um den Inhalt eines Verzeichnisses anzuzeigen, kannst du den folgenden Befehl verwenden:

Get-ChildItem

Für detailliertere Informationen kannst du den -Recurse Parameter hinzufügen, um Unterverzeichnisse einzuschließen:

Get-ChildItem -Recurse

4.4 Dateien kopieren: Copy-Item

Um eine Datei zu kopieren, verwendet man:

Copy-Item -Path "C:\Quelle\datei.txt" -Destination "C:\Ziel\datei.txt"

4.5 Dateien verschieben: Move-Item

Dateien können mit folgendem Befehl verschoben werden:

Move-Item -Path "C:\Quelle\datei.txt" -Destination "C:\Ziel"

4.6 Dateien löschen: Remove-Item

Lösche eine Datei oder ein Verzeichnis:

Remove-Item -Path "C:\Quelle\datei.txt"

5. Variablen verwenden

PowerShell ermöglicht die Arbeit mit Variablen, um Werte zu speichern und wiederzuverwenden.

5.1 Variable zuweisen

$zahl = 10
$text = "Hallo, PowerShell!"

5.2 Variable ausgeben

Verwende den Namen der Variable, um sie auszugeben:

$zahl
$text

5.3 Variablen in Befehlen verwenden

Copy-Item -Path "C:\$text.txt" -Destination "C:\Backup\"

6. Pipelines

PowerShell verwendet Pipelines (|), um die Ausgabe eines Befehls als Eingabe für einen anderen Befehl zu verwenden.

6.1 Prozesse filtern und stoppen

Beispiel: Alle Prozesse mit Namen „notepad“ beenden:

Get-Process notepad | Stop-Process

6.2 Sortieren und Filtern

Prozesse nach CPU-Auslastung sortieren:

Get-Process | Sort-Object CPU -Descending

7. Schleifen und Bedingungen

7.1 If-Bedingung

$zahl = 5
if ($zahl -eq 5) {
    Write-Output "Die Zahl ist 5"
} else {
    Write-Output "Die Zahl ist nicht 5"
}

7.2 ForEach-Schleife

Eine ForEach-Schleife wird verwendet, um über eine Sammlung von Elementen zu iterieren:

$prozesse = Get-Process
foreach ($prozess in $prozesse) {
    Write-Output $prozess.Name
}

8. PowerShell-Skripte

Ein PowerShell-Skript ist einfach eine Datei mit der Endung .ps1, die PowerShell-Befehle enthält. Zum Beispiel:

Inhalt der Datei Beispiel.ps1:

Write-Host "Dies ist ein einfaches PowerShell-Skript"
$prozesse = Get-Process
foreach ($prozess in $prozesse) {
    Write-Output $prozess.Name
}

Ausführung eines Skripts:

.\Beispiel.ps1

Hinweis: Möglicherweise musst du die Ausführungsrichtlinie ändern, um Skripte auszuführen:

Set-ExecutionPolicy RemoteSigned

9. Wichtige Cmdlets im Überblick

  • Get-Help: Hilfetext anzeigen
  • Get-Command: Liste aller Cmdlets anzeigen
  • Get-Service: Dienste anzeigen
  • Start-Service/Stop-Service: Dienste starten/stoppen
  • Get-Process: Prozesse anzeigen
  • Stop-Process: Prozess beenden
  • Set-ExecutionPolicy: Ausführungsrichtlinie für Skripte festlegen
  • New-Item: Datei oder Verzeichnis erstellen
  • Copy-Item: Datei/Verzeichnis kopieren
  • Move-Item: Datei/Verzeichnis verschieben
  • Remove-Item: Datei/Verzeichnis löschen

Fazit

PowerShell bietet eine Vielzahl von Möglichkeiten, um tägliche Aufgaben zu automatisieren, Dateien zu verwalten, Systemprozesse zu steuern und mehr. Mit diesem Grundlagen-Tutorial solltest du nun einen Überblick über die wichtigsten PowerShell-Befehle haben und in der Lage sein, einfache Skripte zu schreiben.

Mit weiterem Üben kannst du deine PowerShell-Kenntnisse vertiefen und komplexere Aufgaben automatisieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert