Für das Kennenlernen der PowerShell ist es enorm hilfreich jene Cmdlets zu finden, die einen bestimmten Parameter besitzen.
Etwa: Welche Cmdlets besitzen z.B. einen ComputerName-Parameter (und ermöglichen damit irgendeine Form von Remoting), bei welchen Cmdlets ist eine Authentifizierung erforderlich, gibt es Cmdlets, die vielleicht einen Password-Parameter besitzen oder bei welchen Cmdlets gibt es den Parameter SupportEvent? Alle diese Fragen beantwortet die folgende kleine Function, die alle Cmdlets, die den beim Aufruf angegebenen Parameter, besitzen „ausspuckt“:
1 2 3 4 5 6 7 8 9 10 11 12 |
<# .Synopsis Auflisten aller Cmdlets, die einen bestimmten Parameter besitzen #> function Get-CmdletParameter { [CmdletBinding()] param([Parameter(Mandatory=$true, HelpMessage="Name des Parameters")][String]$Parameter) Get-Command -CommandType Cmdlet | Where-Object { $_.Parameters.Keys -match $Parameter } } |
Ein Aufruf von
1 |
Get-CmdletParameter -Parameter Password |
macht deutlich, dass es zumindestens unter Windows 7 kein Cmldet gibt, das einen Password-Parameter besitzt.