/ / 5-Cmdlets für den Einstieg in PowerShell

5 Cmdlets für den Einstieg in PowerShell

Bild

PowerShell wird schnell zum bevorzugten ProduktSkriptsprache und CLI von Hauptbenutzern sowie IT-Experten. Es lohnt sich, ein paar Befehle zu lernen, damit Sie beginnen können. Wir haben also 5 nützliche Cmdlets, die Sie heute lernen können.

Get-Command

Der Befehl "Get" ist eines der nützlichsten CmdletsDies erleichtert Ihnen den Einstieg in PowerShell, da Sie nach bestimmten Cmdlets suchen können. Get-Command alleine zu benutzen ist zugegebenermaßen nicht sehr nützlich, da es einfach jeden Befehl ausspuckt, den PowerShell hat.

Bild

Aber daraus können wir sehen, dass das das widersprichtPowerShell-Ausgaben haben sowohl eine Name- als auch eine ModuleName-Eigenschaft. Anhand dieser Informationen können wir unsere Suche verfeinern, indem wir nach Cmdlets suchen, die bestimmte Begriffe enthalten. Wenn ich zum Beispiel nach allen Cmdlets suchen möchte, die das Wort "IP" enthalten, könnte ich Folgendes tun:

Get-Command –Name * IP *

Bild

Wie Sie sehen, erhalten wir immer noch einige Ergebnisse. Unsere nächste Option ist die Suche innerhalb eines bestimmten Moduls. In unserem Fall werde ich das NetTCPIP-Modul wählen.

Get-Command –Module NetTCPIP –Name * IP *

Bild

Hilfe bekommen

Sobald Sie das Cmdlet gefunden haben, das Sie suchenUm Get-Command zu verwenden, müssen Sie die Syntax kennen und wissen, wie Sie dieses spezielle Cmdlet verwenden können. Hier kommt Get-Help ins Spiel. Wenn Sie jemals die Befehlszeile in Windows verwendet haben, haben Sie wahrscheinlich Folgendes getan:

ipconfig /?

Nun, das funktioniert in PowerShell nichtIn PowerShell wird ein Leerzeichen verwendet, um einen Befehl von seinen Parametern zu trennen. Stattdessen verwenden wir Get-Help und übergeben einen Cmdlet-Namen als Parameter an Get-Help.

Get-Help Get-Process

Bild

Get-Member

Get-Member ermöglicht es uns, Informationen über das zu erhaltenObjekte, die ein Cmdlet zurückgibt. Der Haken bei get-member ist, dass es sich auf die Pipeline-Funktion von PowerShell stützt. Um dies zu demonstrieren, können wir das Cmdlet Get-Process verwenden.

Bild

Wie Sie sehen können, zeigt die Ausgabe von PowerShell einigeder Eigenschaften, die Sie oben in jeder Spalte sehen können. Das erste Problem ist, dass es zwar die Eigenschaften gibt, nach denen Sie die meiste Zeit suchen, aber immer noch mehr. Das zweite Problem ist, dass keine Methoden angezeigt werden, die wir für das Objekt aufrufen können. Um die Methoden und Eigenschaften anzuzeigen, können wir unsere Ausgabe wie folgt an Get-Member leiten:

Get-Process | Get-Member

Bild

Während es Ihnen im Moment nichts bedeuten kann, Siewird früher oder später Get-Member brauchen, und je früher Sie lernen, es zu benutzen, desto besser. Mit den Informationen aus der Ausgabe könnten wir beispielsweise Folgendes tun:

Start-Process notepad.exe
$ NotepadProc = Get-Process -Name Editor
$ NotepadProc.WaitForExit ()
Starten Sie den Prozess calc.exe

Dieses Skript startet den Editor und weist ihn dann zuDie Ausgabe von „Get-Process –Name notepad“ an die Variable $ NotepadProc. Anschließend rufen wir die WaitForExit-Methode für $ NotepadProc auf, die das Skript anhält, bis Sie den Editor schließen. Sobald Sie den Editor geschlossen haben, wird der Taschenrechner gestartet.

$ _ (Aktuelles Pipeline-Objekt)

Obwohl es nicht gerade ein Cmdlet ist, gehört es zu den am häufigsten verwendetenverwendete spezielle Variablen in PowerShell. Der offizielle Name für $ _ ist "das aktuelle Pipeline-Objekt". Es wird in Skriptblöcken, Filtern, der Prozessklausel von Funktionen, where-object, foreach-object und Optionen verwendet. Es ist jedoch einfacher, dies anhand eines Beispiels zu erläutern, das uns zum nächsten und letzten Cmdlet, Where-Object, führt.

Wo-Objekt

Where-Object macht genau das, wonach es sich anhörtWählt ein Objekt basierend darauf aus, ob es bestimmte Kriterien erfüllt. Dies bringt $ _ und die Eigenschaften zusammen, die wir mit Get-Member sehen können. Um dies zu demonstrieren, leiten wir die Ausgabe von Get-Process in das Cmdlet Where-Object.

Get-Process | Where-Object {$ _. Name –eq “iexplore”}

Bild

Also, was ist hier los, fragst du? Nun, das erste, was wir tun, ist, eine Liste der Prozesse auf unserem Computer abzurufen und die Ausgabe (mit dem Zeichen |) an unser Cmdlet Where-Object zu übergeben, das einen Skriptblock als Parameter verwendet. Der Skriptblock (durch die geschweiften Klammern definiert) weist die Cmdlets Where-Object an, nur Objekte auszuwählen, deren Name gleich "iexplore" ist, sodass nur eine Liste der ausgeführten IE-Instanzen angezeigt wird. Das ist alles, viel Spaß!