Startet Windows PowerShell über die Befehlszeile eines anderen Tools, z. B. "Cmd.exe".
Syntax
PowerShell[.exe] [-PSConsoleFile <file> | -Version <version>] [-EncodedCommand <Base64EncodedCommand>] [-ExecutionPolicy <ExecutionPolicy>] [-File <filePath> <args>] [-InputFormat {Text | XML}] [-NoExit] [-NoLogo] [-NonInteractive] [-NoProfile] [-OutputFormat {Text | XML}] [-Sta] [-WindowStyle <style>] [-Command { - | <script-block> [-args <arg-array>] | <string> [<CommandParameters>] } ] PowerShell[.exe] -Help | -? | /?
Parameter
-EncodedCommand
Akzeptiert eine Base 64-codierte Zeichenfolgenversion eines Befehls. Senden Sie mit diesem Parameter Befehle an Windows PowerShell, die komplexe Anführungszeichen oder geschweifte Klammern erfordern.
-ExecutionPolicy
Legt die Standardausführungsrichtlinie für die Sitzung fest. Dieser Parameter ändert nicht die in der Registrierung festgelegte Windows PowerShell-Ausführungsrichtlinie.
-File
Führt das angegebene Skript aus. Geben Sie den Skriptdateipfad und Parameter ein.
-InputFormat
Beschreibt das Format von an Windows PowerShell gesendeten Daten. Gültige Werte sind "Text" (Textzeichenfolgen) oder "XML" (serialisiertes CLIXML-Format).
-NoExit
Kein Beenden nach ausgeführten Startbefehlen.
-NoLogo
Blendet beim Start die Copyrightinformationen aus.
-NonInteractive
Dem Benutzer wird keine interaktive Eingabeaufforderung angezeigt.
-NoProfile
Das Windows PowerShell-Profil wird nicht geladen.
-OutputFormat
Bestimmt, wie die Ausgabe von Windows PowerShell formatiert wird. Gültige Werte sind "Text" (Textzeichenfolgen) oder "XML" (serialisiertes CLIXML-Format).
-PSConsoleFile
Lädt die angegebene Windows PowerShell-Konsolendatei. Erstellen Sie eine Konsolendatei mit dem Cmdlet Export-Console in Windows PowerShell.
-Sta
Startet die Shell mit einem Singlethread-Apartment.
-Version
Startet die angegebene Version von Windows PowerShell. Geben Sie mit dem Parameter eine Versionsnummer ein, z. B. "-version 1.0".
-WindowStyle
Legt den Fensterstil auf "Normal", "Minimized", "Maximized" oder "Hidden" fest.
-Command
Führt die angegebenen Befehle (und alle Parameter) so aus, als wären sie an der Windows PowerShell-Eingabeaufforderung eingegeben worden. Dann wird die Ausführung beendet, sofern nicht "NoExit" angegeben wurde. Der Wert von "Command" kann "-", eine Zeichenfolge oder ein Skriptblock sein.
Wenn der Wert von "Command" gleich "-" ist, wird der Befehlstext aus der Standardeingabe gelesen.
Skriptblöcke müssen in geschweifte Klammern ({}) eingeschlossen werden. Einen Skriptblock können Sie nur angeben, wenn "PowerShell.exe" in Windows PowerShell ausgeführt wird. Die Ergebnisse des Skripts werden als deserialisierte XML-Objekte und nicht als Liveobjekte an die übergeordnete Shell zurückgegeben.
Wenn der Wert von "Command" eine Zeichenfolge ist, muss "Command" der letzte Parameter im Befehl sein, da alle nach dem Befehl eingegebenen Zeichen als Befehlsargumente interpretiert werden.
Um eine Zeichenfolge zu schreiben, die einen Windows PowerShell-Befehl ausführt, verwenden Sie folgendes Format:
"& {<command>}"
Hierbei geben die Anführungszeichen eine Zeichenfolge an, und der Aufrufoperator (&) verursacht die Ausführung des Befehls.
-Help, -?, /?
Zeigt diese Meldung an. Wenn Sie einen "PowerShell.exe"-Befehl in Windows PowerShell eingeben, stellen Sie den Befehlsparametern einen Bindestrich (-) und keinen Schrägstrich (/) voran. In "Cmd.exe" können Sie einen Bindestrich oder einen Schrägstrich verwenden.
BEISPIELE
PowerShell -PSConsoleFile sqlsnapin.psc1 PowerShell -version 1.0 -NoLogo -InputFormat text -OutputFormat XML PowerShell -Command {Get-EventLog -LogName security} PowerShell -Command "& {Get-EventLog -LogName security}" # To use the -EncodedCommand parameter: $command = "dir 'c:\program files' " $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) powershell.exe -encodedCommand $encodedCommand