PowerShell-Cmdlet-Grundlagen
Cmdlet (ausgesprochen ähnlich wie "command-let")ist die grundlegende Befehlseinheit in PowerShell, ein kleiner Befehl, der von Microsoft auf Basis des .NET Frameworks implementiert wurde.
Cmdlets unterscheiden sich von externen Programmen in traditionellen Shells wie.exeoder.batDateien; stattdessen sind sie in die PowerShell-Laufzeitumgebung integriert.
Jedes Cmdlet führt eine bestimmte Aufgabe aus, wie z. B. das Abrufen von Daten, das Festlegen von Eigenschaften, das Erstellen von Objekten, das Exportieren von Dateien und so weiter.
Cmdlet-Benennungskonvention: Verb-Substantiv
Alle Cmdlets in PowerShell folgen einem einheitlichen"Verb-Substantiv"Format, zum Beispiel:
Get-Process: Ruft Prozessinformationen abSet-Date: Legt das Systemdatum festNew-Item: Erstellt ein neues Element (z. B. eine Datei oder einen Ordner)Remove-Service: Löscht einen Dienst
Diese Namenskonvention ist intuitiv und konsistent, was das Merken und Suchen erleichtert.
Grundlegende Syntaxstruktur von Cmdlets
Die Syntaxstruktur eines Cmdlets ist im Allgemeinen wie folgt:
Beispiel:
Get-Service -Name W32Time
Erklärung:
Get-Service: Ruft das Dienstobjekt ab-Name W32Time: Gibt den Dienstnamen an, der abgefragt werden sollW32Time
Ein weiteres Beispiel:
Stop-Process -Id 1234 -Force
-Idist ein Parameter, der einen Wert annimmt-Forceist ein Schalterparameter, es muss kein Wert angegeben werden
Kombinieren von Parametern mit Pipelines
Cmdlets unterstützenPositionsparameter,、benannte ParameterundPipeline-Eingabe. Dies ermöglicht es, Befehle flexibel zu kombinieren, um komplexe Workflows zu erstellen.
Beispiel 1: Angeben der Parameterform
Get-Process -Name notepad
Beispiel 2: Weiterleiten durch die Pipeline
"notepad" | Get-Process -Name
Beispiel 3: Weiterleiten von Objekten an ein anderes Cmdlet
Get-Process notepad | Stop-Process
Im obigen Beispiel,Get-Processruft das Notepad-Prozessobjekt ab und übergibt es dann über die Pipeline anStop-Processum es zu beenden.
Anzeigen von Cmdlet-Hilfeinformationen
PowerShell bietet ein vollständiges Hilfesystem; Sie können verwendenGet-Helpum die Verwendung eines beliebigen Cmdlets anzuzeigen:
Get-Help Get-Process
Um weitere Parameterbeschreibungen und Beispiele zu sehen, ergänzen Sie-Detailedoder-Examples:
Get-Help Get-Process -Examples
Wenn Sie PowerShell zum ersten Mal verwenden, wird empfohlen, den folgenden Befehl einmal auszuführen, um die lokale Hilfe zu aktualisieren:
Update-Help
Schnellreferenztabelle für gängige grundlegende Cmdlets
| Cmdlet | Funktionsbeschreibung |
|---|---|
Get-Command |
Alle verfügbaren Befehle anzeigen |
Get-Help |
Hilfeinformationen zu Befehlen anzeigen |
Get-Process |
Prozessliste abrufen |
Get-Service |
Dienstliste abrufen |
Start-Service |
Dienst starten |
Stop-Service |
Dienst beenden |
Set-ExecutionPolicy |
Ausführungsrichtlinie festlegen |
New-Item |
Neue Datei oder neuen Ordner erstellen |
Remove-Item |
Datei oder Ordner löschen |
Copy-Item |
Datei oder Ordner kopieren |
Move-Item |
Datei oder Ordner verschieben |
Clear-Host |
Bildschirm löschen, ähnlich wiecls |
Praktisches Beispiel: Dateioperationen
Ordner erstellen:
New-Item -Path "C:\TestFolder" -ItemType Directory
Ein Verzeichnis in diesem Verzeichnis erstellen:
New-Item -Path "C:\TestFolder\demo.txt" -ItemType File
Inhalt in die Datei schreiben:
Set-Content -Path "C:\TestFolder\demo.txt" -Value "Hello PowerShell"
Dateiinhalt lesen:
Get-Content -Path "C:\TestFolder\demo.txt"
Zusammenfassung und Lernempfehlungen
- Cmdlets sind die Kerneinheiten von PowerShell; jedes Cmdlet ist ein Aufgabenausführer mit klar definierter Funktion.
- Die einheitliche Namenskonvention „Verb-Noun“ macht Cmdlets vorhersehbar und leicht zu erlernen.
- Die Kombination aus Pipeline, Parametersystem und Objektmodell macht Cmdlets besonders leistungsfähig bei der Datenverarbeitung und Automatisierung.
- Das Beherrschen gängiger Cmdlets und deren Kombination mit Objektoperationen ist ein wichtiger Ausgangspunkt zum Erlernen von PowerShell.
Einsteigern wird empfohlen, in folgenden Bereichen zu üben:
- Verwenden Sie
Get-Commandalle verfügbaren Befehle erkunden - kombiniert mit
Get-Helplernen, die Verwendung von Befehlen nachzuschlagen - Verwenden
New-ItemundGet-Contentund andere Befehle für lokale Dateioperationen - Versuchen Sie öfter, Befehle über Pipelines zu kombinieren, um Daten zu verarbeiten