sodass Sie auf dem Remote-Computer interaktiv Cmdlets ausführen können (ähnlich
SSH bei Linux).
Export
Import
Exportiert oder importiert Daten. Export-Csv exportiert Daten im CSV-Format als kommaseparierte Liste in eine Datei. Import-LocalizedData liest mehrsprachige Informationen aus einer
*.psd1-Datei passend zu den gewählten Spracheinstellungen des Betriebssystems ein.
Get
Set
Liefert Informationen oder ändert sie. Get-Service listet beispielsweise alle Dienste auf (
Daemons bei Linux), während Set-Service die Einstellungen eines Diensts ändert (ihn beispielsweise auf »Autostart« einstellt oder deaktiviert).
Grant
Revoke
Weist ein Recht zu oder entzieht es. Grant-AzDiskAccess gewährt beispielsweise Zugriff auf ein Laufwerk im Cloud-Dienst
Azure, während Revoke-SmbShareAccess ein Zugriffsrecht auf eine Netzwerkfreigabe entzieht.
Install
Uninstall
Installiert oder deinstalliert. Install-Module lädt zum Beispiel ein neues PowerShell-Modul herunter und installiert es, während Uninstall-Module es wieder entfernt.
Join
Split
Fügt etwas zusammen oder trennt es. Split-Path extrahiert zum Beispiel aus einem Dateisystempfad Bestandteile wie Laufwerk, übergeordneter Ordner oder Dateiname, während Join-Path einen Pfad aus Ordnerangabe und Dateinamen zusammensetzt.
Mount
Dismount
Richtet etwas ein oder entfernt es wieder. Mount-DiskImage richtet zum Beispiel ein dateibasiertes Disk-Image als Laufwerk ein.
New
Remove
Legt etwas Neues an oder löscht es. New-LocalUser legt zum Beispiel ein neues lokales Benutzerkonto an, während Remove-LocalUser das Konto dauerhaft löscht.
Open
Close
Öffnet oder schließt etwas. Close-SmbOpenFile erzwingt zum Beispiel das Schließen einer geöffneten Datei einer Netzwerkfreigabe.
Protect
Unprotect
Verschlüsselt oder entschlüsselt eine Information. Protect-CmsMessage verschlüsselt beispielsweise eine Textinformation, während Unprotect-CmsMessage die Information wieder entschlüsselt.
Read
Write
Liest oder schreibt etwas. Read-Host erfragt zum Beispiel eine Information vom Benutzer, während Write-Host Hinweise an den Benutzer direkt in die PowerShell-Konsole schreibt.
Register
Unregister
Registriert etwas oder hebt die Registrierung auf. Register-PSRepository registriert beispielsweise ein neues Modul-Repository, über das mit Install-Module weitere PowerShell-Module zum Abruf bereitgestellt werden können.
Show
Hide
Das Verb Show zeigt an, dass das Cmdlet ein Fenster öffnet. Weil grafische Oberflächen nur auf der Windows-Plattform unterstützt werden, stehen Cmdlets wie Show-Command (Dialogfeld zum Suchen von Cmdlets) und Show-EventLog (öffnet die Ereignisanzeige) nur in Windows zur Verfügung.
Start
Stop
Startet oder beendet etwas. Start-Process startet beispielsweise einen neuen Prozess, während Start-Service einen Dienst (oder Daemon) startet. Stop-Process und Stop-Service beenden diese entsprechend.
Suspend
Resume
Hält etwas an und setzt es fort. Suspend-Service hält beispielsweise Dienste an (sofern die betroffenen Dienste dies unterstützen), und Resume-Service setzt angehaltene Dienste fort.
Push
Pop
Legt etwas auf einen Stapel oder holt es von dort ab. Push-Location legt zum Beispiel den aktuellen Ordner auf einen Stapel und merkt ihn sich dort, sodass der aktuelle Ordner nun geändert werden könnte. Pop-Location würde den aktuellen Ordner dann später wiederherstellen, indem der jeweils zuletzt auf den Stapel gelegte Pfad vom Stapel genommen und wiederhergestellt würde.
Redo
Undo
Wiederholt oder macht eine Aktion rückgängig.
Tabelle 2.1: Korrespondierende Verben bei Cmdlets
Probieren Sie die Verben in Tabelle 2.1 am besten gleich aus und lassen Sie sich die Cmdlets auflisten, die die Verben verwenden, zum Beispiel:
PS> Get-Command -Verb Enable
PowerShell bringt nicht für alle zugelassenen Verben Cmdlets mit. Manche Verben werden nur von Cmdlets verwendet, die von Drittanbietern bereitgestellt werden. Eine Popularitätsskala der Verben erhalten Sie so:
Get-Command | Group-Object -Property Verb -NoElement | Sort-Object -Property Count -Descending
Listing 2.1: Häufig verwendete Verben ermitteln
Das Ergebnis variiert natürlich im Einzelfall etwas, zeigt aber deutlich, dass der überwiegende Teil der Cmdlets nur 14 Verben verwenden:
Count Name
----- ----
2106 Get
1029 New
997 Set
956 Remove
425 Add
165 Update
145 Test
144 Enable
138 Disable
109 Start
92 Stop
74 Invoke
62 Export
58 Import
(…)
Tipp
Verben sollen spezifisch genug sein, um die Tätigkeit eindeutig zu beschreiben, andererseits aber auch allgemein genug, um die Zahl der Verben klein und überschaubar zu halten. Warum heißt also zum Beispiel das Cmdlet zum Herunterfahren eines Computers Stop-Computer? Wäre Shutdown-Computer nicht besser, leichter zu finden und auch präziser?
Stimmt, präziser schon, aber eben nicht universell genug. Würde man derart spezifische Verben zulassen, wäre die Zahl der nötigen Verben riesengroß. Das Verb Stop dagegen ist ein guter Kompromiss: Es ist präzise genug, dafür aber viel breiter einsetzbar und kann auch für Cmdlets wie Stop-Service oder Stop-Process verwendet werden.
Cmdlets per Fenster suchen
Das, was Sie gerade mit Get-Command in der Textkonsole gemacht haben, können Windows-Anwender alternativ auch in einer grafischen Oberfläche durchführen: Show-Command öffnet ein entsprechendes Suchfenster (siehe Abbildung 2.3), das ganz ähnlich aussieht wie