다음을 통해 공유


Start-Process

로컬 컴퓨터에서 하나 이상의 프로세스를 시작합니다.

구문

Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-Credential <PSCredential>] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError <string>] [-RedirectStandardInput <string>] [-RedirectStandardOutput <string>] [-UseNewEnvironment] [-Wait] [-WorkingDirectory <string>] [<CommonParameters>]

Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-PassThru] [-Verb <string>] [-Wait] [-WindowStyle {<Normal> | <Hidden> | <Minimized> | <Maximized>}] [-WorkingDirectory <string>] [<CommonParameters>]

설명

로컬 컴퓨터에서 하나 이상의 프로세스를 시작합니다. 프로세스에서 실행되는 프로그램을 지정하려면 실행 파일이나 스크립트 파일을 입력하거나, 컴퓨터의 프로그램을 사용하여 열 수 있는 파일을 입력합니다. 실행 파일이 아닌 파일을 지정하면 Invoke-Item cmdlet처럼 Start-Process가 해당 파일과 연결된 프로그램을 시작합니다.

Start-Process의 매개 변수를 사용하여 사용자 프로필 로드, 새 창에서 프로세스 시작 또는 대체 자격 증명 사용 등의 옵션을 지정할 수 있습니다.

매개 변수

-ArgumentList <string[]>

프로세스를 시작할 때 사용할 매개 변수 또는 매개 변수 값을 지정합니다. 매개 변수 이름("Arguments")은 선택 사항입니다.

필수 여부

false

위치

2

기본값

없음

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Credential <PSCredential>

이 작업을 수행할 수 있는 권한을 가진 사용자 계정을 지정합니다. "User01" 또는 "Domain01\User01"과 같은 사용자 이름을 입력하거나 Get-Credential cmdlet에 의해 생성된 것과 같은 PSCredential 개체를 입력합니다. 기본적으로 cmdlet은 현재 사용자의 자격 증명을 사용합니다.

필수 여부

false

위치

named

기본값

현재 사용자

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-FilePath <string>

프로세스에서 실행되는 프로그램의 경로(선택 사항) 및 파일 이름을 지정합니다. 컴퓨터의 프로그램과 연결된 실행 파일 또는 문서(예: .txt 또는 .doc 파일)의 이름을 입력합니다. 이 매개 변수는 필수 사항입니다.

파일 이름만 지정하는 경우 WorkingDirectory 매개 변수를 사용하여 경로를 지정합니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-LoadUserProfile

HKEY_USERS 레지스트리 키에 저장된 현재 사용자에 대한 Windows 사용자 프로필을 로드합니다. 기본값은 FALSE입니다.

이 매개 변수는 Windows PowerShell 프로필에는 영향을 주지 않습니다. about_Profiles를 참조하십시오.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-NoNewWindow

프로세스를 새 창에서 실행하지 못하도록 합니다. 기본적으로 프로세스는 새 창에서 실행됩니다.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-PassThru

cmdlet이 시작한 각 프로세스에 대한 프로세스 개체를 반환합니다. 기본적으로 이 cmdlet에서는 출력을 생성하지 않습니다.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-RedirectStandardError <string>

프로세스에서 생성된 모든 오류를 지정한 파일로 보냅니다. 경로와 파일 이름을 입력합니다. 기본적으로 오류는 콘솔에 표시됩니다.

필수 여부

false

위치

named

기본값

오류는 콘솔에 표시됩니다.

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-RedirectStandardInput <string>

지정한 파일에서 입력을 읽습니다. 입력 파일의 경로와 파일 이름을 입력합니다. 기본적으로 프로세스는 키보드의 입력을 가져옵니다.

필수 여부

false

위치

named

기본값

키보드

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-RedirectStandardOutput <string>

프로세스에서 생성된 출력을 지정하는 파일로 보냅니다. 경로와 파일 이름을 입력합니다. 기본적으로 출력은 콘솔에 표시됩니다.

필수 여부

false

위치

named

기본값

FALSE

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-UseNewEnvironment

프로세스에 지정된 새 환경 변수를 사용합니다. 기본적으로 시작된 프로세스는 컴퓨터 및 사용자에 대해 지정된 환경 변수를 사용하여 실행됩니다.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Verb <string>

프로세스를 시작할 때 사용할 동사(예: Edit, Open 또는 Print)를 지정합니다.

각 파일 유형별로 사용할 수 있는 동사 집합이 있습니다. 프로세스에서 사용할 수 있는 동사를 찾으려면 개체의 Verbs 속성을 사용합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Wait

지정된 프로세스가 완료될 때까지 대기한 후 추가 입력을 받습니다. 이 매개 변수는 프로세스가 완료될 때까지 명령 프롬프트를 표시하지 않거나 창을 유지합니다.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-WindowStyle <ProcessWindowStyle>

프로세스에 사용되는 창의 상태를 지정합니다. 유효한 값은 Normal, Hidden, Minimized, Maximized입니다. 기본값은 Normal입니다.

필수 여부

false

위치

named

기본값

Normal

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-WorkingDirectory <string>

프로세스에서 실행되는 실행 파일이나 문서의 위치를 지정합니다. 기본값은 현재 디렉터리입니다.

필수 여부

false

위치

named

기본값

현재 디렉터리

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

없음

입력을 Start-Process로 파이프할 수 없습니다.

출력

없음 또는 System.Diagnostics.Process

PassThru 매개 변수를 사용하는 경우 Start-Process는 System.Diagnostics.Process를 생성하며 그렇지 않으면 아무 출력도 반환하지 않습니다.

참고

이 cmdlet은 System.Diagnostics,Process 클래스의 Start 메서드를 사용하여 구현됩니다. 이 메서드에 대한 자세한 내용은 MSDN(Microsoft Developer Network) 라이브러리의 "Process.Start Method(Process.Start 메서드)"(https://go.microsoft.com/fwlink/?LinkId=143602)를 참조하십시오.

예 1

C:\PS>start-process sort.exe

설명
-----------
이 명령은 현재 디렉터리에서 Sort.exe 파일을 사용하는 프로세스를 시작합니다. 이 명령은 기본 창 스타일, 작업 디렉터리 및 자격 증명을 포함한 모든 기본값을 사용합니다.





예 2

C:\PS>start-process myfile.txt -workingdirectory "C:\PS-Test" -verb Print

설명
-----------
이 명령은 C:\PS-Test\MyFile.txt 파일을 인쇄하는 프로세스를 시작합니다.





예 3

C:\PS>start-process Sort.exe -RedirectStandardInput Testsort.txt -RedirectStandardOutput Sorted.txt -RedirectStandardError SortError.txt -UseNewEnvironment

설명
-----------
이 명령은 Testsort.txt 파일의 항목을 정렬하고 정렬된 항목을 Sorted.txt 파일에 반환합니다. 모든 오류는 SortError.txt 파일에 기록됩니다. 

UseNewEnvironment 매개 변수는 프로세스가 고유한 환경 변수로 실행되도록 지정합니다.





예 4

C:\PS>start-process notepad -wait -windowstyle Maximized

설명
-----------
이 명령은 메모장 프로세스를 시작합니다. 창을 최대화하고 프로세스가 끝날 때까지 창을 유지합니다.





참고 항목

개념

Start-Service
Get-Process
Stop-Process
Wait-Process
Debug-Process