PowerShell 7 und Windows PowerShell. Tobias Weltner

Читать онлайн.
Название PowerShell 7 und Windows PowerShell
Автор произведения Tobias Weltner
Жанр Математика
Серия
Издательство Математика
Год выпуска 0
isbn 9783960104803



Скачать книгу

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