de-DE/tutorials/Invoke-GetCommandTutorial.ps1
|
#an interactive tutorial for Get-Command Param( [switch]$Full, [switch]$Menu ) #region setup $script:tutorialParam = $PSBoundParameters $cmd = 'Get-Command' $title = "$($titleStyle)Erste Schritte mit $cmd$reset" #endregion #region content $Intro = @" {0}Get-Command{2} ist eines der grundlegenden PowerShell-Cmdlets. Sie können diesen Befehl verwenden, um PowerShell-Befehle zu entdecken. Diese Befehle folgen der Verb-Nomen-Benennungskonvention. Das Verb stammt aus einer Standardliste von Verben, die Sie mit dem Befehl {0}Get-Verb{2} sehen können. Das Nomen ist die Einzahl des Objekts, mit dem Sie arbeiten möchten, wie {1}Service{1} oder {1}Prozess{2}. "@ -f $cmdStyle, $highLight,$reset $P1 = @" Befehle in PowerShell können entweder {0}Cmdlets{1} oder {0}Funktionen{1} sein. {0}Cmdlets{1} sind kompilierte Befehle, die auf .NET-Klassen basieren und für die Verwendung in PowerShell entwickelt wurden. {0}Funktionen{1} sind ähnlich wie Cmdlets, jedoch nicht kompiliert. Funktionen werden in der Skriptsprache von PowerShell geschrieben. Funktionen werden genauso ausgeführt wie Cmdlets. Es gibt keinen Ausführungsunterschied, nur Unterschiede in der Art ihrer Implementierung. "@ -f $highLight,$reset $P2 = @" Verwenden Sie {0}Get-Command{2}, um Befehle zu finden. Angenommen, Sie suchen nach Befehlen zur Verwaltung von Prozessen. Sie können {0}Get-Command{2} verwenden, um verfügbare Befehle mit Platzhaltern zu entdecken. $prompt {0}Get-Command{2} {1}*prozess*{2} "@ -f $cmdStyle,$defaultTokenStyle,$reset $P3 = @" Sie könnten auch {0}Anwendungen{1} sehen, das sind Programme, die in %PATH% gefunden werden. Sie können Ihre Suche auf PowerShell-Befehle einschränken, indem Sie einen Befehlstyp angeben. $prompt {2}Get-Command{1} {4}-CommandType{1} {3}Function,Cmdlet{1} "@ -f $highLight,$reset,$cmdStyle,$defaultTokenStyle,$paramStyle $P4 = @" In der Ausgabe sehen Sie den Befehlstyp und den Namen des PowerShell-Befehls. "@ $P5 = @" Beachten Sie die Verb-Nomen-Benennungskonvention. Die Quelle ist der Name des PowerShell-{0}Moduls{1}, das den Befehl enthält. Ein Modul ist ein Paket verwandter Befehle. Viele Module werden mit PowerShell ausgeliefert. Später werden Sie lernen, wie Sie zusätzliche Module aus dem PowerShell Gallery installieren können. Die {0}Version{1} ist die Versionsnummer des Moduls. "@ -f $highLight,$reset $P5a = @" Sobald Sie den gewünschten Befehl eingegrenzt haben, verwenden Sie {2}Get-Command{1}, um die Syntax oder die Ausführungsweise anzuzeigen. $prompt {2}Get-Command{1} {3}Get-Process{1} {4}-syntax{1} "@ -f $highLight,$reset,$cmdStyle,$defaultTokenStyle,$paramStyle $P6 = @" Die Befehlsyntax zeigt den Namen des Befehls, {2}Get-Process{1}, gefolgt von einer Reihe von {0}Parametern{1}. Jeder Parametername wird mit einem Bindestrich angezeigt, wie {3}-Name{1} und {3}-Id{1}. Nach jedem Parameter steht ein Hinweis, welchen Typ von Parameterwert Sie angeben müssen. Um die Parameter besser zu verstehen, verwenden Sie {2}Get-Help{1}, um mehr zu erfahren. "@ -f $highLight,$reset,$cmdStyle,$paramStyle #endregion #region run the tutorial $pages = @( { Clear-Host $title $Intro $script:pg++ ; Pause $script:pg $pgCount }, { $P1 $script:pg++ ; Pause $script:pg $pgCount }, { Clear-Host $P2 (Get-Command *process* | Select-Object -First 10 | Out-Host) ; "$e[1A...`n" | Out-Host $script:pg++ ; Pause $script:pg $pgCount }, { Clear-Host $P3 (Get-Command -CommandType Function, Cmdlet | Select-Object -First 10 | Out-Host) ; "$e[1A...`n" | Out-Host $script:pg++ ; Pause $script:pg $pgCount }, { $P4 Pause $script:pg $pgCount }, { $P5 $script:pg++ ;Pause $script:pg $pgCount }, { Clear-Host $P5a Get-Command Get-Process -Syntax | Out-Host $script:pg++ ; Pause $script:pg $pgCount }, { $P6 $script:pg++ ; Pause $script:pg $pgCount } ) #keep a navigation page counter $pgCount = 7 <# There is an overlap in functionality between $i and $pg but they are separate counters because there may be times I need to display a "page" of information into two pages and want to maintain a page number. #> for ($script:i = 0; $script:i -lt $pages.count; $script:i++) { Invoke-Command -ScriptBlock $pages[$script:i] } #endregion if ($full) { &$tutorials['Get-Help'] -Full } elseif ($menu) { Start-PSTutorial } |