Invoke-Expression - PowerShell Befehl Hilfe und Beispiele

Führt Befehle oder Ausdrücke auf dem lokalen Computer aus. (Invoke-Expression)


NAME
Invoke-Expression
ÜBERSICHT
Führt Befehle oder Ausdrücke auf dem lokalen Computer aus.
SYNTAX
Invoke-Expression [-Command] <string> [<CommonParameters>]
BESCHREIBUNG
Mit dem Cmdlet "Invoke-Expression" wird eine angegebene Zeichenfolge als Befehl ausgewertet oder ausgeführt, und es gibt die Ergebnisse des Ausdrucks bzw. Befehls zurück. Ohne Invoke-Expression wird eine in der Befehlszeile gesendete Zeichenfolge unverändert zurückgegeben (als Echo angezeigt).
PARAMETER
-Command <string> Gibt den auszuführenden Befehl oder Ausdruck an. Geben Sie den Befehl oder den Ausdruck ein, oder geben Sie eine Variable ein, die den Befehl oder den Ausdruck enthält. Der Command-Parameter ist erforderlich. Erforderlich? true Position? 1 Standardwert Pipelineeingaben akzeptieren?true (ByValue) Platzhalterzeichen akzeptieren?false <CommonParameters> Dieses Cmdlet unterstützt folgende allgemeine Parameter: "Verbose", "Debug", "ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable", "OutBuffer" und "OutVariable". Weitere Informationen erhalten Sie mit dem Befehl "get-help about_commonparameters".
EINGABEN
System.String oder PSObject Sie können ein Objekt, das den Befehl darstellt, über die Pipeline an Invoke-Expression übergeben. Verwenden Sie die automatische Variable "$input", um die Eingabeobjekte im Befehl darzustellen.
AUSGABEN
PSObject Gibt die vom aufgerufenen Befehl (der Wert des Command-Parameters) generierte Ausgabe zurück.
HINWEISE
- Ein Ausdruck ist eine Anweisung, die ausgewertet werden kann, und liefert ein Ergebnis, z. B. einen Windows PowerShell-Befehl. - Treffen Sie angemessene Vorsichtsmaßnahmen, wenn Sie das Cmdlet "Invoke-Expression" in Skripts verwenden. Wenn Sie einen vom Benutzer eingegebenen Befehl mit Invoke-Expression ausführen, überprüfen Sie vor dem Ausführen, ob der Befehl sicher ist. Im Allgemeinen empfiehlt es sich, das Skript mit vordefinierten Eingabeoptionen zu entwerfen, statt die Freihandeingabe zuzulassen.

Beispiele

BEISPIEL 1
C:\PS>$command = "Get-Process" C:\PS> $command Get-Process C:\PS> invoke-expression $command Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 296 4 1572 1956 20 0.53 1348 AdtAgent 270 6 1328 800 34 0.06 2396 alg 67 2 620 484 20 0.22 716 ati2evxx 1060 15 12904 11840 74 11.48 892 CcmExec 1400 33 25280 37544 223 38.44 2564 communicator ... Beschreibung ----------- In diesem Beispiel wird die Verwendung von Invoke-Expression zum Auswerten eines Ausdrucks veranschaulicht. Ohne Invoke-Expression wird der Ausdruck ausgegeben, jedoch nicht ausgewertet. Im ersten Befehl wird der Variablen "$command" ein Wert von "Get-Process" (eine Zeichenfolge) zugewiesen. Im zweiten Befehl werden die Auswirkungen der Eingabe des Variablennamens in der Befehlszeile veranschaulicht. Windows PowerShell zeigt die Zeichenfolge als Echo an. Im dritten Befehl wird die Zeichenfolge mithilfe von Invoke-Expression ausgewertet.
BEISPIEL 2
C:\PS>invoke-expression -command "C:\ps-test\testscript.ps1" C:\PS> "C:\ps-test\testscript.ps1" | invoke-expression Beschreibung ----------- In diesen Befehlen wird das Skript "TestScript.ps1" mithilfe von Invoke-Expression auf dem lokalen Computer ausgeführt. Die beiden Befehle sind äquivalent. Im ersten Befehl wird der auszuführende Befehl mit dem Command-Parameter angegeben. Im zweiten Befehl wird die Befehlszeichenfolge mit einem Pipelineoperator (|) an Invoke-Expression gesendet.
BEISPIEL 3
C:\PS>$cmd = 'get-process | where {$_.cpu -gt 1000}' C:\PS> iex $command Beschreibung ----------- In diesem Beispiel wird eine Befehlszeichenfolge ausgeführt, die in der Variablen "$cmd" gespeichert ist. Die Befehlszeichenfolge ist in einfache Anführungszeichen eingeschlossen, da sie die Variable "$_" enthält, die das aktuelle Objekt darstellt. Wenn sie in doppelte Anführungszeichen eingeschlossen ist, wird die Variable "$_" durch ihren Wert ersetzt, bevor sie in der $command-Zeichenfolge gespeichert wird.
BEISPIEL 4
C:\PS>$cmdlet_name = "get-eventlog" C:\PS> $example_number = 1 C:\PS> $example_code = (get-help $cmdlet_name).examples.example[($example_number-1)].code C:\PS> invoke-expression $example_code Beschreibung ----------- Mit diesem Befehl wird das erste Beispiel im Hilfethema zum Cmdlet "Get-EventLog" abgerufen und ausgeführt. Um ein Beispiel eines anderen Cmdlets auszuführen, ändern Sie den Wert der Variablen "$cmdlet_name" in den Namen des Cmdlets. Ändern Sie darüber hinaus die Variable "$example_number" in die Beispielnummer, die Sie ausführen möchten. Der Befehl schlägt fehl, wenn die Beispielnummer ungültig ist. VERWANDTE LINKS Online version: http://go.microsoft.com/fwlink/?LinkID=113343 (möglicherweise auf Englisch) Invoke-Command C:\Windows>powershell get-help Get-Alias -full

Microsoft Windows [Version 10.0.19045.3693]
Copyright (c) 2023 Microsoft Corporation.

ColorConsole [Version 3.7.1000] PowerShell 2.0-Export

Windows 11, 10, 8.1, 8, 7 / Server 2022, 2019, 2016











Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



PowerShell: Führt Befehle oder Ausdrücke auf dem lokalen Computer aus.

HTTP: ... PS_Windows/de/Invoke-Expression.htm
0.062
16194

Spalten und Möglichkeiten in Q-Dir dem Explorer für Windows!

Datei und Ordner Anzahl in einer Explorer Spalte erkennen!

Duplex bei nicht Duplex Scannern, unterstützte verbesserte Sortierung?

Den Quad-Explorer auf Windows 10 als portable App in den Autostart-Ordner!

Preview the Animated Gif Images on Windows!

Den Quad-Explorer auf Windows 10 als portable App in den Autostart-Ordner!



(0)