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