Skip to content

1.2.1 PowerShell

Patrick edited this page Nov 8, 2024 · 13 revisions

Einleitung

PowerShell ist ein Cross-Platform Shell, eine Skriptsprache und ein Configuration-Management-Framework. Im Klartext: Mit PowerShell kann man OS Aufgaben automatisieren.

PowerShell funktioniert an Windows, Linux und macOS.

Es ist nicht nötig PowerShell zu benutzen, aber ich empfehle, dass du dich mit einer Befehlszeilenschnittstelle auskennst, weil diese Fähigkeiten die Arbeit am Computer erleichtern könnten.

PowerShell kann durch Microsoft Store einfach installiert werden. Mehr Info

Dokumentation:

  1. PowerShell Überblick
  2. PowerShell Installation mit anderen Methoden
  3. $PROFILE Set-Up Beispiel

Wichtige Befehle

Microsoft pflegt gut die Dokumentation (nicht nur in Englisch) für PowerShell und auch andere Anwendungen. Hier sind eine kleine Liste von wichtigen Befehlen. Keine Sorge, wenn du nicht die verstehst oder die als Linux oder MacOS Benutzer zu langatmig betrachtest, weil alle Befehle Aliases haben - benutzerdefinierte auch!

Wir fangen mit den häufig benutzten Befehlen an:

Get-Command

Get-Member

Get-Alias

Set-Location

Get-ChildItem

New-Item

Remove-Item

Select-Object

HINWEIS CMD, EXE, BAT, usw. sind auch Befehle, die man mit Get-Command den Pfad finden kann.

Get-Command code | Select-Object -Property Source

C:\Users\pat_h\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd

Lernzielkontrolle

1. Aufgabe

Viele Command beginnen mit Get, Set, New und Remove.

Rechnen Sie die Anzahl von Cmdlet, die mit Get anfangen.

Benutzen Sie Get-Command und Pipelines.

Hinweis 1

Benutzen Sie Get-Member mit einem Pipe-Operator, um Objekten zu verstehen.

Hinweis 2

Man braucht keine Schleife, um die zu zählen.

Suchen Sie nach Measure-Object.

Lösung
Get-Command -Name get* -Type Cmdlet | Measure-Object | Select-Object -Property Count

~140

Andere Versionen oder Set-Ups haben mehr oder weniger Cmdlet.

2. Aufgabe

Teil 1 Mit Ihrer neuen Kenntnissen finden Sie das Cmdlet für Hilfe.

Teil 2 Suchen nach ForEach-Object mit dem Cmdlet.

Lösung 1
Get-Command -Type Cmdlet -Name *help*

Merken Sie, dass die Reihe von Optionen nicht wichtig ist, wenn man -Type oder -Name explizit schreibt.

Lösung 2
Get-Help ForEach-Object

Öffnet die Dokumentation online

Get-Help ForEach-Object -Online

3. Aufgabe

Speichern Sie die Fläche von 1000 Kreisen im CSV Format.

Der Radius ist die Nummer vom Kreis, erste hat Radius 1, zweite hat Radius 2.

Benutzen Sie ForEach-Object und Pipelines.

Hinweis 1

Man kann eine Reihe mit s..t generieren. Hier wird es 1..1000 geschrieben.

Diese Reihe kann dann mit einem Pipe-Operator in ForEach-Object geführt werden.

Hinweis 2

[math]:: erreicht das Math-Modul.

[math]::PI und [math]::Pow() kann benutzt werden.

$ und $() sind notwendig für Variablen.

Hinweis 2

New-Item kann eine Datei erzeugen, aber es gibt andere Methode, um Content hinzuzufügen.

Was für Cmdlt finden Sie, wenn sie nach 'hinzufügen' suchen?

Lösung
1..1000 | ForEach-Object -Process {"$PSItem," + "$([math]::PI * [math]::Pow($PSItem, 2))"} | Add-Content -Path C:\Users\pat_h\radius_daten.csv

Tricky hier ist Folgendes:

Das Pluszeichen "..." + "..." konkateniert String und $() ist notwendig für Variablen.

Merken Sie hier das $($PSItem) ist überflüssig.

"C:\Users\pat_h\radius_daten.csv" ist nur ein Beispiel-Pfad.

4. Bonus Aufgabe

$PROFILE Set-Up:

Auf GitHub gibt es ein Beispiel für ein PS Profile. Laden Sie das $PROFILE-Beispeil herunter.

Name der Datei: powershell_profile_beispiel.ps1

Das ist nicht die optimale Methode um Dateien auf GitHub zu bekommen, aber wir lernen mehr über Git und GitHub später.

Hinweis

Suchen Sie nach Invoke-WebRequest.

Beachten Sie außerdem die richtige URL für Dateien.

Lösung
Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/p-spohr/HTW-Berlin-Pytorium/refs/heads/main/1-Set-Up/powershell_profile_beispiel.ps1' -OutFile profile_example.ps1

Als Nächstes: Python pip ➡️

1 Set-Up

Mach dich bereit!

1.1 Python Installation

1.2 Befehlszeilenschnittstelle

1.2.1 PowerShell

1.2.2 Python pip

1.3 Code-Editor

1.4 Versionskontrolle

1.4.1 Git

1.4.2 GitHub

1.4.3 Obsidian

2 Grundlegend

Los geht's!

2.1 Rechner und Speicher

2.1.2 Datentypen

2.2 Kontrollfluss

2.3 Funktionen

2.3.4 Decorators

3 Fortgeschritten

Wie ein Profi!

3.2 Module

4 Wichtige Bibliotheken

Bibliothekskarte beantragen!

4.1 NumPy

4.2 pandas

5 Präsentationen

Letzte Strecke!

Clone this wiki locally