하나 이상의 중지된 서비스를 시작합니다.
구문
Start-Service [-Name] <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Start-Service -DisplayName <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>] Start-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
설명
Start-Service cmdlet은 지정된 각 서비스에 대한 시작 메시지를 Windows 서비스 컨트롤러로 보냅니다. 서비스가 이미 실행 중인 경우에는 오류 없이 메시지가 무시됩니다. 서비스 이름 또는 표시 이름으로 서비스를 지정하거나 InputObject 매개 변수를 사용하여 시작할 서비스를 나타내는 서비스 개체를 제공할 수 있습니다.
매개 변수
-DisplayName <string[]>
시작할 서비스의 표시 이름을 지정합니다. 와일드카드를 사용할 수 있습니다.
필수 여부 |
true |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Exclude <string[]>
지정된 서비스를 생략합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: "*s*")을 입력하십시오. 와일드카드를 사용할 수 있습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Include <string[]>
지정된 서비스만 시작합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: "*s*")을 입력하십시오. 와일드카드를 사용할 수 있습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-InputObject <ServiceController[]>
시작할 서비스를 나타내는 ServiceController 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하십시오.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue) |
와일드카드 문자 적용 여부 |
false |
-Name <string[]>
시작할 서비스의 서비스 이름을 지정합니다.
매개 변수 이름은 선택 사항입니다. "-Name" 또는 해당 별칭("-ServiceName")을 사용하거나 매개 변수 이름을 생략할 수 있습니다.
필수 여부 |
true |
위치 |
1 |
기본값 |
|
파이프라인 입력 적용 여부 |
true (ByValue, ByPropertyName) |
와일드카드 문자 적용 여부 |
false |
-PassThru
서비스를 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet에서는 출력을 생성하지 않습니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-Confirm
명령을 실행하기 전에 확인 메시지를 표시합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
-WhatIf
명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.
필수 여부 |
false |
위치 |
named |
기본값 |
|
파이프라인 입력 적용 여부 |
false |
와일드카드 문자 적용 여부 |
false |
<CommonParameters>
이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.
입력 및 출력
입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.
입력 |
System.ServiceProcess.ServiceController, System.String 서비스 또는 서비스 이름이 포함된 문자열을 나타내는 개체를 Start-Service로 파이프할 수 있습니다. |
출력 |
없음 또는 System.ServiceProcess.ServiceController PassThru 매개 변수를 사용하는 경우 Start-Service는 서비스를 나타내는 System.ServiceProcess.ServiceController 개체를 생성합니다. 그렇지 않으면 아무 출력도 생성하지 않습니다. |
참고
또한 해당 기본 제공 별칭("sasv") Start-Service를 참조할 수 있습니다. 자세한 내용은 about_Aliases를 참조하십시오.
Start-Service는 현재 사용자가 서비스를 제어할 수 있는 권한을 가진 경우에만 서비스를 제어할 수 있습니다. 따라서 명령이 제대로 작동하지 않는 경우 필요한 권한이 없을 수 있습니다.
사용자 시스템의 서비스에 대한 서비스 이름 및 표시 이름을 찾으려면 "Get-Service"를 입력하십시오. 서비스 이름은 Name 열에 나타나고 표시 이름은 DisplayName 열에 나타납니다.
시작 유형이 "Manual" 또는 "Automatic"인 서비스만 시작할 수 있으며 시작 유형이 "Disabled"인 서비스는 시작할 수 없습니다. Start-Service 명령이 실패하고 "컴퓨터의 <service-name> 서비스를 시작할 수 없습니다."라는 메시지가 나타나면 Get-WmiObject 명령을 사용하여 서비스의 시작 유형을 찾고 필요한 경우 Set-Service 명령을 사용하여 서비스의 시작 유형을 변경합니다.
성능 로그 및 알림(SysmonLog)과 같은 일부 서비스는 수행할 작업이 없을 경우 자동으로 중지됩니다. Windows PowerShell이 자체적으로 중지한 서비스를 즉시 시작하면 "<display-name> 서비스를 시작하지 못했습니다."라는 메시지가 표시됩니다.
예 1
C:\PS>start-service -name eventlog 설명 ----------- 이 명령은 로컬 컴퓨터에서 EventLog 서비스를 시작합니다. 이 명령은 Name 매개 변수를 사용하여 해당 서비스 이름으로 서비스를 식별합니다.
예 2
C:\PS>start-service -displayname *remote* -whatif 설명 ----------- 이 명령은 표시 이름에 "remote"가 포함된 서비스를 시작할 경우 발생하는 상황을 알려 줍니다. DisplayName 매개 변수를 사용하여 서비스 이름 대신 표시 이름으로 서비스를 지정하고, WhatIf 매개 변수를 사용하여 명령을 실제로 실행하는 대신 명령 실행 시 발생할 상황을 알려 줍니다.
예 3
C:\PS>$s = get-service wmi C:\PS>start-service -InputObject $s -passthru | format-list >> services.txt 설명 ----------- 이들 명령은 컴퓨터의 WMI(Windows Management Instrumentation) 서비스를 시작하고 services.txt 파일에 작업 기록을 추가합니다. 첫 번째 명령은 Get-Service cmdlet을 사용하여 WMI 서비스를 나타내는 개체를 가져와서 $s 변수에 저장합니다. 두 번째 명령은 Start-Service cmdlet을 사용하여 WMI 서비스를 시작합니다. 이 명령은 InputObject 매개 변수를 사용하여 WMI 서비스 개체를 포함하는 $s 변수를 Start-Service로 전달하는 방식으로 서비스를 식별합니다. 그런 다음 PassThru 매개 변수를 사용하여 서비스 시작을 나타내는 개체를 만듭니다. 이 매개 변수가 없으면 Start-Service가 출력을 생성하지 않습니다. 파이프라인 연산자(|)는 Start-Service가 만든 개체를 Format-List cmdlet으로 전달합니다. Format-List cmdlet은 해당 개체의 형식을 개체 속성 목록으로 지정합니다. 리디렉션 추가 연산자(>>)는 출력을 services.txt 파일로 리디렉션합니다. 리디렉션된 출력은 기존 파일의 끝에 추가됩니다.
예 4
C:\PS># start-service 설명 ----------- 이 일련의 명령은 서비스의 시작 유형이 "Disabled"인 경우 서비스를 시작하는 방법을 보여 줍니다. Start-Service cmdlet을 사용하여 Telnet 서비스(tlntsvr)를 시작하는 첫 번째 명령은 실패합니다. C:\PS>start-service tlntsvr Start-Service: 다음 오류로 인해 'Telnet (TlntSvr)' 서비스를 시작할 수 없습니다. '.' 컴퓨터의 TlntSvr 서비스를 시작할 수 없습니다. 줄:1 문자:14 + start-service <<<< tlntsvr 두 번째 명령은 Get-WmiObject cmdlet을 사용하여 Tlntsvr 서비스를 가져옵니다. 이 명령은 StartMode 필드에서 시작 유형 속성을 사용하여 개체를 검색합니다. 결과 표시에 Tlntsvr 서비스의 시작 유형이 "Disabled"로 표시됩니다. C:\PS> get-wmiobject win32_service | where-object {$_.Name -eq "tlntsvr"} ExitCode : 0 Name : TlntSvr ProcessId : 0 StartMode : Disabled State : Stopped Status : OK 이 명령은 Set-Service cmdlet을 사용하여 Tlntsvr 서비스의 시작 유형을 "Manual"로 변경합니다. C:\PS> set-service tlntsvr -startuptype manual 이제 Start-Service 명령을 다시 전송할 수 있습니다. 명령이 성공적으로 실행됩니다. C:\PS> start-service tlntsvr 명령이 성공했는지 확인하려면 Get-Service 명령을 사용합니다.
참고 항목