Поделиться через


about_PowerShell.exe

Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0

РАЗДЕЛ

about_PowerShell.exe

КРАТКОЕ ОПИСАНИЕ

В этом разделе объясняется, как использовать программу командной строки PowerShell.exe. Показан синтаксис и описаны параметры командной строки.

Программа PowerShell.exe запускает сеанс Windows PowerShell®. Ее можно использовать в Cmd.exe и Windows PowerShell.

ПОДРОБНОЕ ОПИСАНИЕ

СИНТАКСИС

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

ПАРАМЕТРЫ

-EncodedCommand <Base64EncodedCommand>

Принимает строковую версию команды в base64-кодировке. Этот параметр позволяет отправлять команды в Windows PowerShell с использованием сложных сочетаний кавычек или фигурных скобок.

-ExecutionPolicy <ExecutionPolicy>

Задает политику выполнения по умолчанию для текущего сеанса и сохраняет ее в переменной среды $env:PSExecutionPolicyPreference. Этот параметр не изменяет политику выполнения Windows PowerShell, заданную в реестре. Сведения о политиках выполнения Windows PowerShell, включая список допустимых значений, см. в статье about_Execution_Policies (https://go.microsoft.com/fwlink/?LinkID=135170).

-File <FilePath> [<Parameters>]

Запускает указанный сценарий в локальной области ("с точкой"), чтобы создаваемые сценарием функции и переменные были доступны в текущем сеансе. Необходимо ввести путь к файлу сценария и параметры. Параметр File должен быть последним в команде, так как все символы, введенные после него, интерпретируются как путь к файлу сценария, за которым следуют параметры сценария.

Можно включить параметры сценария и значения параметров в значение параметра File. Например:

-File .\Get-Script.ps1 -Domain Central

Обычно параметры-переключатели сценария либо включаются, либо пропускаются. Например, следующая команда использует параметр All файла сценария Get-Script.ps1:

-File .\Get-Script.ps1 -All

В редких случаях может потребоваться логическое значение параметра-переключателя. Чтобы включить логическое значение параметра-переключателя в значение параметра File, заключите имя и значение параметра в фигурные скобки, например:

-File .\Get-Script.ps1 {-All:$False}.

-InputFormat {Text | XML}

Описывает формат данных, отправленных в Windows PowerShell. Допустимые значения: Text (текстовые строки) или XML (сериализованный формат CLIXML).

-Mta

Запускает Windows PowerShell с помощью многопоточного подразделения. Этот параметр впервые появился в Windows PowerShell 3.0. В Windows PowerShell 2.0 по умолчанию используется многопоточное подразделение (MTA). В Windows PowerShell 3.0 — однопоточное (STA).

-NoExit

Не завершает работу после выполнения команд запуска.

-NoLogo

Скрывает заставку с информацией об авторских правах при запуске.

-NonInteractive

Не предоставляет пользователю интерактивную командную строку.

-NoProfile

При использовании этого параметра профиль Windows PowerShell не загружается.

-OutputFormat {Text | XML}

Определяет способ форматирования выходных данных Windows PowerShell. Допустимые значения: Text (текстовые строки) или XML (сериализованный формат CLIXML).

-PSConsoleFile <FilePath>

Загружает указанный файл консоли Windows PowerShell. Введите путь и имя файла консоли. Чтобы создать файл консоли, используйте командлет Export-Console в Windows PowerShell.

-Sta

Запускает Windows PowerShell с помощью однопоточного подразделения. В Windows PowerShell 2.0 по умолчанию используется многопоточное подразделение (MTA). В Windows PowerShell 3.0 — однопоточное (STA).

-Version <Windows PowerShell Version>

Запускает указанную версию Windows PowerShell. Допустимые значения — 2,0 и 3,0. На компьютере должна быть установлена указанная вами версия. Если на компьютере установлена версия Windows PowerShell 3.0, то она используется по умолчанию. В противном случае версия по умолчанию — Windows PowerShell 2.0. Дополнительные сведения см. в разделе "Установка Windows PowerShell" руководства по началу работы с Windows PowerShell.

-WindowStyle <Window style>

Задает стиль окна сеанса. Допустимые значения: Normal, Minimized, Maximized и Hidden.

-Command -param

Выполняет указанные команды (и любые параметры), как если бы их ввели в командной строке Windows PowerShell, а затем завершает работу, если не задан параметр NoExit.

Допустимые значения параметра Command: "-", строка или блок сценариев. Если для Command задано значение "-", текст команды считывается из стандартного ввода.

Блоки сценария должны быть заключены в скобки ({}). Назначить блок сценария можно только при запуске PowerShell.exe в Windows PowerShell. Результаты сценария возвращаются основной оболочке как десериализованные объекты XML, а не как активные объекты.

Если значением параметра Command является строка, он должен стоять последним в команде, так как любой символ, введенный после него, будет интерпретироваться как аргумент.

При написании строки команды Windows PowerShell используется следующий формат:

         "& {<command>}"

Кавычки отделяют строку, а оператор запуска (&) выполняет команду.

-Help, -?, /?

Отображает справку по PowerShell.exe. При вводе команды PowerShell.exe в Windows PowerShell перед параметрами команды ставится дефис (-), а не прямая косая черта (/). В Cmd.exe можно использовать и дефис, и прямую косую черту.

ЗАМЕЧАНИЯ

Замечание по устранению неполадок. В Windows PowerShell 2.0 запуск некоторых команд из консоли Windows PowerShell завершается ошибкой, если переменная LastExitCode имеет значение 0xc0000142.

ПРИМЕРЫ

    PowerShell -PSConsoleFile sqlsnapin.psc1

    PowerShell -Version 2.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

СМ. ТАКЖЕ

about_PowerShell_Ise.exe (https://go.microsoft.com/fwlink/?LinkID=256512)