about_PowerShell.exe

업데이트 날짜: 2012년 8월

적용 대상: 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>

명령의 Base 64로 인코딩된 문자열 버전을 허용합니다. 매개 변수를 사용하여 복잡한 따옴표 또는 중괄호가 필요한 Windows PowerShell에 명령을 제출합니다.

-ExecutionPolicy <ExecutionPolicy>

현재 세션에 기본 실행 정책을 설정하고 $env:PSExecutionPolicyPreference 환경 변수에 저장합니다. 이 매개 변수는 레지스트리에서 설정된 Windows PowerShell 실행 정책을 변경하지 않습니다. 유효한 값의 목록을 포함하여 Windows PowerShell 실행 정책에 대한 내용은 about_Execution_Policies (https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하세요.

-File <FilePath> [<Parameters>]

로컬 범위("도트 소싱됨")에서 지정된 스크립트를 실행하므로 스크립트가 만드는 함수 및 변수는 현재 세션에서 사용할 수 있습니다. 스크립트 파일 경로 및 매개 변수를 입력합니다. 파일 매개 변수 이름 뒤에 입력된 모든 문자가 스크립트 매개 변수 뒤에 있는 스크립트 파일 경로로 해석되기 때문에 파일은 명령의 마지막 매개 변수여야 합니다.

파일 매개 변수의 값에 스크립트의 매개 변수, 매개 변수 값을 포함할 수 있습니다. 예를 들면 다음과 같습니다.

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

일반적으로 스크립트의 스위치 매개 변수는 포함되거나 생략됩니다. 예를 들어 다음 명령은 Get-Script.ps1 스크립트 파일의 모든 매개 변수를 사용합니다.

-File .\Get-Script.ps1 -All

드물게 스위치 매개 변수에 Boolean 변수를 제공해야 하는 경우도 있습니다. 파일 매개 변수의 값에서 스위치 매개 변수에 Boolean 값을 제공하려면 다음과 같이 매개 변수 이름 및 값을 중괄호에 넣습니다.

-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 콘솔 파일을 로드합니다. 콘솔 파일의 경로와 이름을 입력합니다. 콘솔 파일을 만들려면 Windows PowerShell에서 Export-Console cmdlet을 사용합니다.

-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이 컴퓨터에 설치되어 있는 경우 "3.0"은 기본 버전입니다. 그렇지 않으면 "2.0"이 기본 버전입니다. 자세한 내용은 Windows PowerShell 시작 가이드에서 "Windows PowerShell 설치"를 참조하세요.

-WindowStyle <Window style>

세션에 대한 창 스타일을 설정합니다. 유효한 값은 일반, 최소화, 최대화 및 숨김입니다.

-Command -param

Windows PowerShell에 입력된 대로 지정된 명령(및 매개 변수)를 실행한 다음 NoExit 매개 변수가 지정되지 않는 한 존재합니다.

명령의 값은 "-", 문자열 또는 스크립트 블록일 수 있습니다. 명령의 값이 "-"이면 명령 텍스트는 표준 입력에서 읽혀집니다.

스크립트 블록은 중괄호({})로 묶어야 합니다. Windows PowerShell에서 PowerShell.exe를 실행할 때에만 스크립트 블록을 지정할 수 있습니다. 라이브 개체가 아닌 XML 개체에 역직렬화된 대로 스크립트의 결과가 상위 셸로 반환됩니다.

명령의 값이 문자열인 경우 명령 뒤에 입력된 문자가 명령 인수로 해석되기 때문에 명령은 명령에서 마지막 매개 변수여야 합니다.

Windows PowerShell 명령을 실행하는 문자열을 작성하려면 다음과 같은 형식을 사용합니다.

         "& {<command>}"

여기서 따옴표가 문자열을 가리키고 호출 연산자(&)가 실행될 명령을 발생시킵니다.

-Help, -?, /?

PowerShell.exe에 대한 도움말을 표시합니다. Windows PowerShell에서 PowerShell.exe 명령을 입력하는 경우 슬래시(/)가 아닌 하이픈(-)을 사용하여 명령 매개 변수를 추가합니다. Cmd.exe에서 하이픈이나 슬래시를 사용할 수 있습니다.

설명

문제 해결 참고: Windows PowerShell 2.0에서 Windows PowerShell 콘솔에서 일부 프로그램을 시작하면 0xc0000142의 LastExitCode로 인해 실패합니다.

예제

    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)