Windows PowerShell ist die neue Kommandozeilen-Shell, die leistungsfähiger und skriptfähiger als die Eingabeaufforderung ist. In meiner dreijährigen Erfahrung in der Verwendung fand ich es wirklich nützlich, insbesondere wenn Sie Aufgaben automatisieren oder skripten möchten. Die meisten von uns wissen es jedoch entweder nicht oder bevorzugen es nicht, es anstelle der alten Befehlszeilenhülle zu verwenden.
In diesem Beitrag werde ich nützliche, aber einfache Befehle (mit Beispielen) von Windows PowerShell teilen., Sie können diese Befehle verwenden, um zahlreiche Aufgaben zu erledigen — von der Hilfe bis zum Starten von Prozessen. Sollen wir anfangen?
Hinweis: Windows PowerShell wurde mit Blick auf die Abwärtskompatibilität entwickelt und unterstützt daher viele Befehle der Eingabeaufforderung. Das heißt, Sie können die alten Befehle in der neuen, farbenfrohen Oberfläche weiterhin verwenden.
Lesen Sie auch: Tipps und Tools zur Automatisierung sich wiederholender Aufgaben unter Windows 10
Get-Help
Wenn Sie PowerShell noch nicht kennen, können Probleme auftreten.und in solchen Situationen wird Get-Help zu Ihrem Retter., Es enthält die erforderlichen Informationen zu Cmdlets, Befehlen, Funktionen, Skripten und Workflows der PowerShell.
Außerdem ist es einfach: Sie müssen Get-Help
gefolgt von dem Befehl eingeben, von dem Sie die Details suchen. Sie können beispielsweise Informationen zu „Get-Process“ mit Get-Help Get-Process
abrufen.
Get-Command
Windows PowerShell erlaubt die Entdeckung seiner Befehle und Funktionen, die mit Get-Command., Es zeigt die Liste der Befehle einer bestimmten Funktion oder für einen bestimmten Zweck basierend auf Ihrem Suchparameter an.
Sie müssen nur Get-Command
gefolgt von Ihrer Suchanfrage in der PowerShell eingeben. Beispiel: Get-Command *-service*
zeigt Befehle mit dem Namen“- service “ an. Bitte denken Sie daran, die Sternchen auf beiden Seiten Ihrer Abfrage zu verwenden, da es sich um einen Platzhalter handelt, der bei der Suche nach dem Unbekannten hilft.,
Invoke-Command
Wenn Sie einen Befehl oder ein Skript von PowerShell ausführen möchten — lokal oder remote auf einem oder mehreren Computern — „Invoke-Command“ ist Ihr Freund. Es ist einfach zu bedienen und hilft Ihnen bei der Stapelsteuerung von Computern.
Sie müssen Invoke-Command
gefolgt vom Befehl oder Skript mit seinem vollständigen Pfad eingeben. Sie können beispielsweise den Befehl „Get-EventLog“ mit Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50}
oder auf einem Remotecomputer „Server01“ mit Invoke-Command -ScriptBlock {Get-EventLog system -Newest 50} -ComputerName Server01
ausführen.,
Invoke-Expression
Invoke-Expression führt einen anderen Befehl oder einen Ausdruck ein. Wenn Sie einen Ausdruck oder eine Zeichenfolge als Eingabe angeben, wertet dieser Befehl ihn zuerst aus und führt ihn dann aus, funktioniert aber im Gegensatz zum vorherigen Befehl auch nur lokal.
Sie müssen Invoke-Expression
gefolgt von einem Befehl oder einem Ausdruck eingeben. Sie können beispielsweise eine Variable „$Command“ mit einer Zeichenfolge zuweisen, die den Befehl „Get-Process“angibt., Wenn Sie Invoke-Expression $Command
ausführen, wird „Get-Process“ als Befehl auf Ihrem lokalen Computer ausgeführt.
Invoke-WebRequest
Sie können Informationen zu Websites und Webdiensten herunterladen, anmelden und abrufen, während Sie unter Windows PowerShell mit Invoke-WebRequest arbeiten.,
Set-ExecutionPolicy
Obwohl das erstellen und ausführen von scripts (mit der Erweiterung „ps1“) in Windows PowerShell ist möglich; es gibt jedoch Einschränkungen für Sicherheits-Zwecke. Sie können die Sicherheitsstufe jedoch mit dem Befehl Set-ExecutionPolicy.
Sie können Set-ExecutionPolicy
gefolgt von einer der vier Sicherheitsstufen eingeben-Eingeschränkt, Remote signiert, alle signiert oder uneingeschränkt, um den Befehl zu verwenden., Sie können den eingeschränkten Richtlinienstatus beispielsweise mit Set-ExecutionPolicy -ExecutionPolicy Restricted
zuweisen.
Get-Item
Wenn Sie Informationen zu einem Element an einem bestimmten Ort suchen, z. B. eine Datei auf Ihrer Festplatte, ist Get-Item der beste Weg, um es in Windows PowerShell zu erwerben. Sie müssen wissen, dass der Inhalt des Elements nicht abgerufen wird, z. B. Dateien und Unterverzeichnisse in einem bestimmten Verzeichnis, sofern Sie dies nicht ausdrücklich angegeben haben.,
Sie müssen Get-Item
gefolgt von einem Pfad oder einer Zeichenfolge zusammen mit den Parametern, falls vorhanden, eingeben. Sie können beispielsweise alle Elemente (Dateien oder Ordner), die mit „M“ beginnen, im aktuellen Verzeichnis mit Get-Item M*
abrufen. Neben dem Inhalt von Verzeichnissen kann auch der Inhalt von Registrierungsschlüsseln abgerufen werden.
Copy-Item
Wenn Sie Dateien und Verzeichnisse auf Ihre Speicherplatte oder Registrierungseinträge und Schlüssel in der Registrierung kopieren müssen, können Sie Copy-Item verwenden., Es funktioniert ähnlich wie der Befehl „cp“, den wir in der Eingabeaufforderung haben, aber es ist viel besser.
Sie können den Befehl Copy-Item
verwenden, um Elemente im selben Befehl zu kopieren und umzubenennen — geben Sie einen neuen Namen als Ziel an. Sie können beispielsweise Dienste kopieren und umbenennen.htm“ auf „MyServices.txt“ mit Copy-Item "C:\Services.htm" -Destination "C:\MyData\MyServices.txt"
.
Remove-Item
Wenn Sie Elemente wie Dateien, Ordner, Funktionen sowie Registrierungsschlüssel und Variablen löschen möchten, ist Remove-Item der Befehl für Sie. Was ich interessant fand, ist, dass es Parameter zum Einschließen und Ausschließen von Elementen bietet.,
Sie können den Befehl Remove-Item
verwenden, um Elemente mithilfe von Parametern von bestimmten Speicherorten zu löschen. Sie können beispielsweise die Datei „MyServices“ löschen.txt“ mit dem Befehl Remove-Item "C:\MyData\MyServices.txt"
.
Get-Content
Wenn Sie den Inhalt einer Textdatei an einem bestimmten Speicherort anzeigen müssen, öffnen und lesen Sie ihn in einem Code – /Texteditor wie Notepad++. In Windows PowerShell können Sie Get-Content verwenden, um den Inhalt abzurufen, ohne die Datei zu öffnen.,
Set-Content
Sie können Text mit Set-Content in Dateien speichern, ähnlich dem Befehl „echo“ der Bash-Shell. In Kombination mit dem Get-Content können Sie auch den Inhalt einer Datei abrufen und mit diesem Befehl in eine andere Datei kopieren.
Sie können beispielsweise Set-Content
eingeben, um den Inhalt einer Datei zu schreiben oder durch neuen Inhalt zu ersetzen. Darüber hinaus können Sie es mit dem Beispiel des vorherigen Befehls vergleichen, um die Ausgabe in einer neuen Datei mit dem Namen „Sample“ zu speichern.txt“ mit Get-Content "C:\Services.htm" -TotalCount 50 | Set-Content "Sample.txt"
.,
Get-Variable
Wenn Sie Variablen in Windows PowerShell verwenden möchten, können Sie mit dem Befehl Get-Variable die Werte von Variablen visualisieren. Es zeigt sie in tabellarischer Form an und ermöglicht das Einschließen, Ausschließen und Verwenden von Platzhaltern.
Sie können diesen Befehl verwenden, indem Sie Get-Variable
gefolgt von den Optionen und Parametern eingeben. Sie können beispielsweise den Wert für eine Variable mit dem Namen „desc“ mit dem folgenden Code abrufen: Get-Variable -Name "desc"
.,
Set-Variable
Sie können den Befehl Set-Variable
gefolgt von seinen Parametern verwenden, um eine Variable festzulegen. Zum Beispiel können wir den Wert für eine variable mit dem Namen „desc“ mit dem Befehl Set-Variable -Name "desc" -Value "A Description"
.
Get-Process
Normalerweise verwenden wir den Task-Manager, um die laufenden Prozesse auf unserem Computer zu finden. In Windows PowerShell kann jeder Get-Process verwenden, um die Liste der aktuell ausgeführten Prozesse abzurufen, die Sie auch weiter verarbeiten können.,
Sie können den Befehl als Get-Process
zusammen mit Ihrer Suchanfrage schreiben. Wenn Sie beispielsweise Informationen zu den Prozessen mit „explore“ in ihrem Namen benötigen, können Sie Get-Process *explore*
eingeben (beachten Sie die Sternchen).
Start-Process
Windows PowerShell macht es leicht zu starten, ein oder mehrere Prozesse auf Ihrem computer. Ich fand, dass dieser Befehl in Scripting-Apps praktisch ist, da er einer der unverzichtbaren Befehle ist, die Sie zur Automatisierung einer Aufgabe benötigen.
Sie können Start-Process
gefolgt von den Parametern eingeben, um den Befehl zu verwenden., Sie können den Editor beispielsweise starten, indem Sie Start-Process -FilePath "notepad" -Verb runAs
in die Windows PowerShell eingeben.
Stop-Process
Dank des Befehls Stop-Process können Sie bestimmte oder alle Instanzen eines auf Ihrem Computer ausgeführten Prozesses mithilfe seines Namens oder seiner PID (Prozess-ID) stoppen. Was es überzeugend macht, ist, dass Sie erkennen können, dass ein Prozess gestoppt wird oder nicht, und Sie können sogar die Prozesse stoppen, die dem aktuellen Benutzer nicht gehören oder nicht gestartet wurden.,
Sie können den Befehl Stop-Process
gefolgt von seinen Parametern eingeben, um die angegebenen Prozesse zu stoppen. Sie können beispielsweise alle Prozesse von Notepad mit dem Befehl Stop-Process -Name "notepad"
stoppen.
Get-Service
Wenn Sie Informationen zu bestimmten (laufenden oder gestoppten) Diensten auf Ihrem Computer benötigen, können Sie Get-Service verwenden. Es zeigt die in Ihrem System installierten Dienste an und bietet Optionen zum Filtern, Einschließen und Ausschließen.
Wenn Sie diesen Befehl verwenden möchten, können Sie gefolgt von den Parametern eingeben., Geben Sie beispielsweise die folgende Get-Service | Where-Object {$_.Status -eq "Running"}
ein, damit die Dienste auf Ihrem System „ausgeführt“ werden.
Start-Service
Wenn Sie einen Dienst auf Ihrem Computer starten möchten, kann der Befehl Start-Service Ihnen dabei helfen, dasselbe über Windows PowerShell zu tun. Ich habe festgestellt, dass es leistungsstark genug ist, um einen Dienst zu starten, auch wenn dieser Dienst auf Ihrem Computer deaktiviert ist.
Sie müssen den Namen des Dienstes angeben, während Sie den Befehl Start-Service
., Zum Beispiel startet Start-Service -Name "WSearch"
den Dienst „Windows Search“ auf Ihrem lokalen Computer.
Stop-Service
Wenn Sie Dienste beenden möchten, die auf Ihrem Computer ausgeführt werden, ist der Befehl Stop-Service hilfreich. Sie müssen den Namen des Dienstes zusammen mit Stop-Service
angeben. Geben Sie beispielsweise Stop-Service -Name "WSearch"
ein, um den Dienst“ Windows Search “ auf Ihrem Computer zu beenden.
ConvertTo-HTML
PowerShell können erstaunliche Informationen über Ihren system., Es wird jedoch meistens in einem unverdaulichen Format präsentiert, aber Sie können ConvertTo-HTML verwenden, um einen Bericht zu erstellen und zu formatieren, um ihn zu analysieren oder an jemanden zu senden.
Sie können ConvertTo-HTML
zusammen mit der Ausgabe eines anderen Befehls mithilfe von piping verwenden. Zum BeispielGet-Service | ConvertTo-HTML -Property Name, Status > C:\Services.htm
zeigt die Liste aller Dienste und deren Status in Form eines Webberichts an, der in der Datei „Dienste“ gespeichert ist.htm“.