PowerShell Grundlagen Flashcards
Wozu wird eine Shell benötigt?
Bereitstellen von Kommandozeile oder Benutzeroberfläche
Interaktion mit dem Betriebssystem
Starten von Programmen
einfache Programmiersprache zur Automatisierung
Was ist PowerShell?
einheitliches Werkzeug für die Administration auf der Kommandozeile
bietet deutlich erweitertes Skripting (gegenüber cmd.exe)
unterstützt das Lösen komplizierter Aufgaben
Commandlet und objektorientierter Ansatz
alte Befehle und viele Linux-Befehle gehen (über Aliase)
Wie ist das Konzept der PowerShell? 4
PowerShell-Befehle heißen Commandlet (cmdlet)
objektorientiert - nicht text-basierend wie bei anderen Shells
objektorientierte Pipes
- cmdlets tauschen keine Zeichenketten, sondern .NET-Objekte aus
- die Ausgabe-Objekte eines cmdlets dienen als Eingabe für weitere cmdlets
Provider (Navigationscontainer)
präsentieren die Daten werden immer gleich in hierarchischer Form als Laufwerke,
z.B. Dateisystem, Registry, Umgebungsvariablen, Zertifikatsspeicher
Erkläre was Commandlets sind
PowerShell-Befehle heißen Commandlet
Aufbau: VERB-NOUN (NOUN engl. für Nomen)
Beispiele
Get-Process
begrenzte Anzahl von Verben
get, set, add, new, remove, clear, write…
bei PowerShell-Befehlen wird Groß-/Kleinschreibung ignoriert!
Was sind Objekte bei Powershell?
Dateneinheit mit Eigenschaften (Attribute) und Aktionen (Methoden)
Objekt-Attribute und -Methoden können direkt verwendet werden
Abfrage der Objekt-Eigenschaften mit Get-Member
Erkläre .NET
gesprochen dotnet
Laufzeitumgebung
Schicht zwischen Betriebssystem und Anwendungen
Sammlung von Klassenbibliotheken (APIs) und Dienstprogrammen (Services)
Was ist WMI?
Windows Management Instrumentation
wichtigste Schnittstelle für die Administration und Fernwartung von Workstations und Servern
lokaler oder netzwerkweiter Zugriff auf nahezu alle Einstellungen eines Windows-Computers
setzt auf COM und DCOM auf
Was kann mit WMI gemacht werden? 7
Inventardaten verwalten (WMI Repository)
Programme starten
Dienste und Warteschlangen abfragen, starten und beenden
Ereignisprotokolle und Performance-Logs lesen, konfigurieren und löschen
Registry bearbeiten
Computer neu starten
Aufruf über Skripte mit wmic.exe bzw. in PowerShell mit get-wmiobject
Was ist “Component Object Model”?
ermöglicht unter Windows Interprozess-Kommunikation und dynamische
Objekt-Erzeugung
Client/Server-Prinzip
ein COM-Client instanziert eine COM-Komponente in einem COM-Server und
nutzt die Funktionalität des Objektes über COM-Interfaces
COM übers Netzwerk –> DCOM
DCOM - Distributed Component Object Model
Was sind Aliase im PowerShell Kontext?
ein Alias ist ein alternativer Namen oder eine Kurzbezeichnung für Cmdlets, Funktionen oder
ausführbare Dateien
alle gesetzten Aliase ausgeben: get-alias oder alias
Was ist die Powershell ISE?
Integrated Scripting Environment
Welche Sicherheitsaspekte sind bei Powershell relevant? 5
Doppelklicken führt das Skript nicht aus, sondern öffnet es im Editor
- Sicherheitsrichtlinien zur Ausführungsbeschränkung abfragen: Get-ExecutionPolicy
- alle Ausführungsbeschränkungen entfernen (als Admin): Set-ExecutionPolicy unrestricted
- Ausführen eines Skripts durch Voranstellen von .\ oder unter Angabe des absoluten Pfadnamens
- Skripte können mit einer Digitalen Signatur versehen werden
Was sind “objekte” im Kontext von Powershell?
- Dateneinheit mit Eigenschaften (Attribute) und Aktionen (Methoden)
- Objekt-Attribute und -Methoden können direkt auf Kommandozeile oder in Skripten verwendet werden
- Abfrage der Objekt-Eigenschaften mit Get-Member
Wandle diese while schleife in eine DO-WHILE schleife um:
$i = 50
while ($i -gt 8) {
$i = $i - 2
Write-Host $i
}
$i = 50
do {
$i = $i -2
Write-Host $i
} while ( $i -gt 8)
Wandle diese while schleife in eine FOR schleife um:
$i = 50
while ($i -gt 8) {
$i = $i - 2
Write-Host $i
}
for ( $i = 48; $i -gt 8 ; $i = $i - 2 ) {
Write-Host $i
}