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.

# 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

ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.

OS: Windows 10, 8.1, 8, 7, Vista / Windows Server 2016, 2012, 2008
»»»» ColorConsole









... Windows-10




Windows 10 How To

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




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

HTTP: ... PS_Windows/de/Invoke-Expression.htm
0.186
13659

Munbyn Thermodrucker Bluetooth unter Windows 11, 10, 8.1, .... installieren!

 /

How can I show the folders (dir) size in a column of the Windows-7 Explorer?

 /

Der Symbolabstand ist im Quad-Explorer für Windows sehr nahe beieinander!

 /

Wie kann ich die eigene Unterschrift als Bild-Datei speichern?

 /

Einstellungen für Fingereingabe und Stift auf Windows 10/11 finden!

 /

Wie kann ich in Windows 7, 10, 8.1 in den übergeordneten Ordner wechseln?

 /

Kann ich SmartScreen aktivieren und deaktivieren?

 /

Put a floating clock on Windows 11, 10, ... desktop!

 /

Benutzernamen und Kennwörter für Windows 8.1/8 und 10 Remotedesktop sichern und wiederherstellen!

 /

Prevent Windows 10/11 programs from automatically starting, how does it work?

 /

Wie finde ich heraus, ob ich Windows 8.1, 10 oder 8.0 Version hab?

 /

Wie kann ich einen weiteren Registrierungseditor starten?

 /