Pomoc w wierszu polecenia PowerShell.exePowerShell.exe Command-Line Help

Można użyć PowerShell.exe do uruchomienia sesji programu PowerShell z wiersza polecenia z innego narzędzia, takiego jak Cmd.exe, lub użyć w wierszu polecenia programu PowerShell, aby rozpocząć nową sesję.You can use PowerShell.exe to start a PowerShell session from the command line of another tool, such as Cmd.exe, or use it at the PowerShell command line to start a new session. Parametry służą do dostosowywania sesji.Use the parameters to customize the session.

SkładniaSyntax

PowerShell[.exe]
       [-Command { - | <script-block> [-args <arg-array>]
                     | <string> [<CommandParameters>] } ]
       [-EncodedCommand <Base64EncodedCommand>]
       [-ExecutionPolicy <ExecutionPolicy>]
       [-File <FilePath> [<Args>]]
       [-InputFormat {Text | XML}]
       [-Mta]
       [-NoExit]
       [-NoLogo]
       [-NonInteractive]
       [-NoProfile]
       [-OutputFormat {Text | XML}]
       [-PSConsoleFile <FilePath> | -Version <PowerShell version>]
       [-Sta]
       [-WindowStyle <style>]

PowerShell[.exe] -Help | -? | /?

ParametryParameters

-EncodedCommand -EncodedCommand

Akceptuje wersji algorytmem base-64 ciągu polecenia.Accepts a base-64-encoded string version of a command. Użyj tego parametru, aby przesłać poleceń do programu PowerShell, które wymagają złożonych znaków cudzysłowu lub nawiasów klamrowych.Use this parameter to submit commands to PowerShell that require complex quotation marks or curly braces.

-ExecutionPolicy -ExecutionPolicy

Domyślne zasady wykonywania dla bieżącej sesji i zapisuje je w $env: zmienna środowiskowa PSExecutionPolicyPreference.Sets the default execution policy for the current session and saves it in the $env:PSExecutionPolicyPreference environment variable. Ten parametr nie powoduje zmiany zasad wykonywania programu PowerShell, który jest ustawiony w rejestrze.This parameter doesn't change the PowerShell execution policy that is set in the registry. Aby uzyskać informacje na temat zasad wykonywania programu PowerShell, łącznie z listą prawidłowych wartości, zobacz about_Execution_Policies.For information about PowerShell execution policies, including a list of valid values, see about_Execution_Policies.

-Pliku [ ]-File []

Wykonuje określony skrypt w zakresie lokalnym ("dot Source"), dzięki czemu funkcje i zmienne, utworzonych przez skrypt są dostępne w bieżącej sesji.Runs the specified script in the local scope ("dot-sourced"), so that the functions and variables that the script creates are available in the current session. Wprowadź ścieżkę pliku skryptu oraz wszelkie parametry.Enter the script file path and any parameters. Plik musi być ostatnim parametrem w poleceniu.File must be the last parameter in the command. Wszystkie wartości po — plik parametru są interpretowane jako skrypt ścieżkę pliku i parametry przekazywane do tego skryptu.All values typed after the -File parameter are interpreted as the script file path and parameters passed to that script.

Parametry przekazane do skryptu są przekazywane jako ciągi literałowe po interpretacji w bieżącej powłoce.Parameters passed to the script are passed as literal strings, after interpretation by the current shell. Na przykład jeśli znajdują się w cmd.exe i mają być przekazywane wartości zmiennej środowiskowej, użyj składni cmd.exe: powershell.exe -File .\test.ps1 -TestParam %windir%For example, if you are in cmd.exe and want to pass an environment variable value, you would use the cmd.exe syntax: powershell.exe -File .\test.ps1 -TestParam %windir%

Natomiast uruchomione powershell.exe -File .\test.ps1 -TestParam $env:windir w wynikach cmd.exe w skrypcie odbiera literału ciągu $env:windir ponieważ go nie ma specjalnego znaczenia do bieżącej powłoce cmd.exe.In contrast, running powershell.exe -File .\test.ps1 -TestParam $env:windir in cmd.exe results in the script receiving the literal string $env:windir because it has no special meaning to the current cmd.exe shell. $env:windir Styl Odnośnik zmiennej środowiskowej można można używać wewnątrz -Command parametru, ponieważ ma ona będzie interpretowany jako kod programu PowerShell.The $env:windir style of environment variable reference can be used inside a -Command parameter, since there it will be interpreted as PowerShell code.

-InputFormat {tekstu | XML}-InputFormat {Text | XML}

Opisuje format danych wysyłanych do programu PowerShell.Describes the format of data sent to PowerShell. Prawidłowe wartości to "Text" (ciągi tekstowe) lub "XML" (w formacie CLIXML serializacji).Valid values are "Text" (text strings) or "XML" (serialized CLIXML format).

-Mta-Mta

Uruchamia programu PowerShell przy użyciu modelu wielowątkowości.Starts PowerShell using a multi-threaded apartment. Ten parametr został wprowadzony w środowisku PowerShell 3.0.This parameter is introduced in PowerShell 3.0. W środowisku PowerShell 3.0 apartamentem jednowątkowym (przedziale STA) jest ustawieniem domyślnym.In PowerShell 3.0, single-threaded apartment (STA) is the default. W programie PowerShell 2.0 wielowątkowej (MTA) jest ustawieniem domyślnym.In PowerShell 2.0, multi-threaded apartment (MTA) is the default.

-NoExit-NoExit

Nie zakończyć działanie po uruchomieniu polecenia uruchamiania.Doesn't exit after running startup commands.

Ukrywa praw autorskich transparentu podczas uruchamiania.Hides the copyright banner at startup.

-Nieinterakcyjnym-NonInteractive

Użytkownik nie widzi monitu interakcyjnego.Doesn't present an interactive prompt to the user.

-NoProfile-NoProfile

Nie jest ładowana profilu programu PowerShell.Doesn't load the PowerShell profile.

-OutputFormat {tekstu | XML}-OutputFormat {Text | XML}

Określa sposób formatowania danych wyjściowych za pomocą programu PowerShell.Determines how output from PowerShell is formatted. Prawidłowe wartości to "Text" (ciągi tekstowe) lub "XML" (w formacie CLIXML serializacji).Valid values are "Text" (text strings) or "XML" (serialized CLIXML format).

-PSConsoleFile -PSConsoleFile

Ładuje określony plik konsoli programu PowerShell.Loads the specified PowerShell console file. Wprowadź ścieżkę i nazwę pliku konsoli.Enter the path and name of the console file. Aby utworzyć plik konsoli, należy użyć Export-Console polecenia cmdlet programu PowerShell.To create a console file, use the Export-Console cmdlet in PowerShell.

-STA.-Sta

Uruchamia programu PowerShell przy użyciu apartamentem jednowątkowym.Starts PowerShell using a single-threaded apartment. W środowisku PowerShell 3.0 apartamentem jednowątkowym (przedziale STA) jest ustawieniem domyślnym.In PowerShell 3.0, single-threaded apartment (STA) is the default. W programie PowerShell 2.0 wielowątkowej (MTA) jest ustawieniem domyślnym.In PowerShell 2.0, multi-threaded apartment (MTA) is the default.

-Version -Version

Rozpoczyna się określonej wersji programu PowerShell.Starts the specified version of PowerShell. Określonej wersji musi być zainstalowany w systemie.The version that you specify must be installed on the system. Jeśli program PowerShell 3.0 jest zainstalowana na komputerze, prawidłowe wartości to "2.0" i "3.0".If PowerShell 3.0 is installed on the computer, valid values are "2.0" and "3.0". Wartość domyślna to "3.0".The default value is "3.0".

Jeśli program PowerShell 3.0 nie jest zainstalowany, jedyna prawidłowa wartość to "w wersji 2.0".If PowerShell 3.0 isn't installed, the only valid value is "2.0". Inne wartości są ignorowane.Other values are ignored.

Aby uzyskać więcej informacji, zobacz Instalowanie programu Windows PowerShell.For more information, see Installing Windows PowerShell.

-Nazwa_okna -WindowStyle

Ustawia styl okna sesji.Sets the window style for the session. Prawidłowe wartości to: Normalny, zminimalizowany, Maximized i ukryty.Valid values are Normal, Minimized, Maximized, and Hidden.

— Polecenie-Command

Wykonuje określoną polecenia (przy użyciu żadnych parametrów), tak, jakby były one użyte w wierszu polecenia programu PowerShell.Executes the specified commands (with any parameters) as though they were typed at the PowerShell command prompt. Po wykonaniu PowerShell kończy działanie, chyba że NoExit określono parametr.After execution, PowerShell exits unless the NoExit parameter is specified. Dowolny tekst po -Command jest wysyłany jako jeden wiersz polecenia dla programu PowerShell.Any text after -Command is sent as a single command line to PowerShell. To różni się od tego, jak -File obsługuje parametry wysłane do skryptu.This is different from how -File handles parameters sent to a script.

Wartość -Command może być "-", ciąg lub blok skryptu.The value of -Command can be "-", a string, or a script block. Wyniki polecenia są zwracane do powłoki nadrzędnego jako po deserializacji obiektów XML, nie na żywo obiektów.The results of the command are returned to the parent shell as deserialized XML objects, not live objects.

Jeśli wartość -Command jest "-", tekst polecenia jest do odczytu ze standardowego wejścia.If the value of -Command is "-", the command text is read from standard input.

Gdy wartość -Command jest ciągiem, polecenia musi być ostatnim parametrem określona, ponieważ wszystkie znaki wpisane po polecenia są interpretowane jako argumenty wiersza polecenia.When the value of -Command is a string, Command must be the last parameter specified because any characters typed after the command are interpreted as the command arguments.

Polecenia parametru akceptuje tylko blok skryptu do wykonania po jego rozpoznaje wartość przekazana do -Command jako typu blok skryptu.The Command parameter only accepts a script block for execution when it can recognize the value passed to -Command as a ScriptBlock type. Jest to tylko możliwe podczas uruchamiania PowerShell.exe z innego hosta programu PowerShell.This is only possible when running PowerShell.exe from another PowerShell host. ScriptBlock typu mogą być zawarte w istniejących zmiennych, zwracane wyrażenie lub przeanalizowany, programu PowerShell host jako blok skryptu literału, ujęte w nawiasy klamrowe {}, zanim został przekazany do PowerShell.exe.The ScriptBlock type may be contained in an existing variable, returned from an expression, or parsed by the PowerShell host as a literal script block enclosed in curly braces {}, before being passed to PowerShell.exe.

W cmd.exe, znajduje się coś takiego jak blok skryptu (lub ScriptBlock typu), więc wartość przekazana do polecenia będzie zawsze jest ciąg.In cmd.exe, there is no such thing as a script block (or ScriptBlock type), so the value passed to Command will always be a string. Można napisać blok skryptu wewnątrz ciągu, ale zamiast wykonywana będzie ona działać dokładnie tak, jakby wpisany w wierszu programu PowerShell typowe drukowanie zawartość skryptu blokady powrót do Ciebie.You can write a script block inside the string, but instead of being executed it will behave exactly as though you typed it at a typical PowerShell prompt, printing the contents of the script block back out to you.

Ciąg przekazywany do -Command nadal będą wykonywane jako programu PowerShell, więc nawiasów klamrowych blok skryptu często nie są wymagane w pierwszej kolejności podczas uruchamiania z cmd.exe.A string passed to -Command will still be executed as PowerShell, so the script block curly braces are often not required in the first place when running from cmd.exe. Wykonanie bloku skryptu wbudowane, zdefiniowane wewnątrz ciągu, operator wywołania & można użyć:To execute an inline script block defined inside a string, the call operator & can be used:

"& {<command>}"

-Help,-?, /?-Help, -?, /?

Przedstawia składnię powershell.exe.Shows the syntax of powershell.exe. Jeśli piszesz polecenia PowerShell.exe w programie PowerShell, należy poprzedzić parametry polecenia łącznikiem (-), nie ukośnika (/).If you are typing a PowerShell.exe command in PowerShell, prepend the command parameters with a hyphen (-), not a forward slash (/). Można użyć łącznika lub ukośnikiem w Cmd.exe.You can use either a hyphen or forward slash in Cmd.exe.

Uwaga

Uwaga dotycząca rozwiązywania problemów: W programie PowerShell 2.0 począwszy niektóre programy w programie Windows PowerShell, konsola nie LastExitCode 0xc0000142.Troubleshooting Note: In PowerShell 2.0, starting some programs in the Windows PowerShell console fails with a LastExitCode of 0xc0000142.

PRZYKŁADYEXAMPLES

# Create a new PowerShell session and load a saved console file
PowerShell -PSConsoleFile sqlsnapin.psc1

# Create a new PowerShell V2 session with text input, XML output, and no logo
PowerShell -Version 2.0 -NoLogo -InputFormat text -OutputFormat XML

# Execute a PowerShell Command in a session
PowerShell -Command "Get-EventLog -LogName security"

# Run a script block in a session
PowerShell -Command {Get-EventLog -LogName security}

# An alternate way to run a command in a new session
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