Get-Command

Ein paar Beispiele… Alle Befehle, die mit „get“ anfangen:

Get-Command Get-*

Alle Befehle, die mit „get“ oder „set“ anfangen:

Get-Command [gs]et-*

Alle Befehle, die das Substantiv „Service“ besitzen:

Get-Command *-Service

Ebenfalls alle Befehle, die das Substantiv „Service“ besitzen:

Get-Command –Noun Service

Alle Befehle, die die Buchstabenfolge „wmi“ enthalten (und mutmaßlich mit der „Windows Management Instrumentation“ zu tun haben):

Get-Command *wmi*

Beispiel mit mehr Tiefe als Vorbereitung auf Pipelining und Filterungen: Alle Befehle, die die Buchstabenfolge „wmi“ oder „cim“ enthalten!

Get-Command | Where-Object { $_.name -like "*cim*" -or $_.name -like "*wmi*" }

Erläuterungen zu Aufrufen: bitte wieder Reihenfolge beachten

  1. Alias

  2. Function

  3. Cmdled

  4. Application

Hier das Ganze in der Konsole:

PS E:\_temp> Get-Command ps

CommandType     Name                                  Version    Source
-----------     ----                                  -------    ------
Alias           ps -> Get-Process

PS E:\_temp> Get-Command "C:"

CommandType     Name                                  Version    Source
-----------     ----                                  -------    ------
Function        C:

PS E:\_temp> Get-Command Get-Command

CommandType     Name                                  Version    Source
-----------     ----                                  -------    ------
Cmdlet          Get-Command                           3.0.0.0    Microsoft.PowerShell.Core

PS E:\_temp> Get-Command notepad.exe

CommandType     Name                                  Version    Source
-----------     ----                                  -------    ------
Application     notepad.exe                           6.3.960... C:\WINDOWS\system32\notepad.exe

Hinweis

In der zweiten Konsole kann es natürlich auch einfach C: (ohne Quotes) heißen, aber dann geht mir das Syntaxhighlighting kaputt und die PowerShell Konsole wird nicht sauber nach text, latexpdf oder epub exportiert!

Einfache Hilfe zu Kommandos

Get-Command -?

Anzahl von Cmdlets und Funktionen (so seit PS 2.0)

Get-Command | Group-Object CommandType

Und hier wieder ein paar Aufrufe in der Konsole:

PS E:\_temp> (Get-Command).count
1332
PS E:\_temp> Get-Command | Group-Object CommandType

Count Name               Group
----- ----               -----
10 Alias                 {Add-ProvisionedAppxPackage, Apply-WindowsUnattend, Flush-Vol...}
770 Function             {A:, Add-BitLockerKeyProtector, Add-DirectoryLength, Add-DnsC...}
552 Cmdlet               {Add-AppxPackage, Add-AppxProvisionedPackage, Add-BitsFile, A...}

Cmdlets und Funktionen exportieren:

Get-Command | Format-Table name -HideTableHeaders | Out-File E:\_temp\pscommands.txt

Bitte Alles praktisch in der Konsole ausprobieren.