Start-Service

하나 이상의 중지된 서비스를 시작합니다.

Syntax

Start-Service
     [-InputObject] <ServiceController[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-Name] <String[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-PassThru]
     -DisplayName <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Description

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

cmdlet은 Start-Service 지정된 각 서비스에 대해 Windows 서비스 컨트롤러에 시작 메시지를 보냅니다. 서비스가 이미 실행 중인 경우에는 오류 없이 메시지가 무시됩니다. 서비스 이름 또는 표시 이름으로 서비스를 지정하거나 InputObject 매개 변수를 사용하여 시작하려는 서비스를 나타내는 서비스 개체를 제공할 수 있습니다.

예제

예제 1: 해당 이름을 사용하여 서비스 시작

다음은 로컬 컴퓨터에서 EventLog 서비스를 시작하는 예제입니다. Name 매개 변수는 서비스 이름으로 서비스를 식별합니다.

Start-Service -Name "eventlog"

예제 2: 서비스를 시작하지 않고 정보 표시

이 예제에서는 "remote"을 포함하는 표시 이름이 있는 서비스를 시작한 경우 발생하는 작업을 보여 줍니다.

Start-Service -DisplayName *remote* -WhatIf

DisplayName 매개 변수는 서비스 이름 대신 표시 이름으로 서비스를 식별합니다. WhatIf 매개 변수를 사용하면 cmdlet이 명령을 실행할 때 발생하는 작업을 표시하지만 변경하지는 않습니다.

예제 3: 서비스 시작 및 텍스트 파일에 작업 기록

다음은 컴퓨터에서 WMI(Windows Management Instrumentation) 서비스를 시작하고 작업 레코드를 services.txt 파일에 추가하는 예제입니다.

$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txt

먼저 WMI 서비스를 나타내는 개체를 가져와 변수에 $s 저장하는 데 사용합니다Get-Service. 다음으로 서비스를 시작합니다. PassThru 매개 변수가 Start-Service 없으면 출력을 만들지 않습니다. 파이프라인 연산자(|)는 개체 출력을 cmdlet에 Start-ServiceFormat-List 전달하여 개체의 속성 목록으로 서식을 지정합니다. 추가 리디렉션 연산자(>>)는 출력을 services.txt 파일로 리디렉션합니다. 출력이 기존 파일의 끝에 추가됩니다.

예제 4: 비활성화된 서비스 시작

이 예제에서는 서비스의 시작 유형이 사용 안 함일 때 서비스를 시작하는 방법을 보여 있습니다.

PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service  <<<< tlntsvr

PS> Get-CimInstance win32_service | Where-Object Name -eq "tlntsvr"
ExitCode  : 0
Name      : TlntSvr
ProcessId : 0
StartMode : Disabled
State     : Stopped
Status    : OK

PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvr

텔넷 서비스(tlntsvr)를 시작하는 첫 번째 시도가 실패합니다. 이 Get-CimInstance 명령은 Tlntsvr 서비스의 StartMode 속성이 사용 안 함임을 보여 줍니다. cmdlet은 Set-Service 시작 유형을 수동으로 변경 합니다. 이제 명령을 다시 제출할 Start-Service 수 있습니다. 명령이 성공적으로 실행됩니다. 명령이 성공했는지 확인하려면 다음을 실행합니다 Get-Service.

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인을 요청합니다.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

시작할 서비스의 표시 이름을 지정합니다. 와일드카드 문자를 사용할 수 있습니다.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

이 cmdlet에서 생략하는 서비스를 지정합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: s*.)을 입력합니다. 와일드카드 문자를 사용할 수 있습니다.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-Include

이 cmdlet이 시작되는 서비스를 지정합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: s*.)을 입력합니다. 와일드카드 문자를 사용할 수 있습니다.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

시작할 서비스를 나타내는 ServiceController 개체를 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하세요.

Type:ServiceController[]
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Name

시작할 서비스의 서비스 이름을 지정합니다.

매개 변수 이름은 선택 사항입니다. 이름 또는 해당 별칭인 ServiceName을 사용하거나 매개 변수 이름을 생략할 수 있습니다.

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

서비스를 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

cmdlet을 실행할 경우 발생하는 일을 표시합니다. cmdlet은 실행되지 않습니다.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

입력

System.ServiceProcess.ServiceController, System.String

서비스 이름을 포함하는 서비스 또는 문자열을 나타내는 개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

None, System.ServiceProcess.ServiceController

이 cmdlet은 PassThru를 지정하는 경우 서비스를 나타내는 System.ServiceProcess.ServiceController 개체를 생성합니다. 그러지 않으면 이 cmdlet에서 출력이 생성되지 않습니다.

참고

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

  • 기본 제공 별칭으로 참조할 Start-Service 수도 있습니다 sasv. 자세한 내용은 about_Aliases 참조하세요.
  • Start-Service 는 현재 사용자에게 이 작업을 수행할 수 있는 권한이 있는 경우에만 서비스를 제어할 수 있습니다. 따라서 명령이 제대로 작동하지 않는 경우 필요한 권한이 없을 수 있습니다.
  • 시스템에서 서비스 이름과 서비스의 이름을 표시하려면 다음을 입력 Get-Service합니다. 서비스 이름은 이름 열에 표시되고 표시 이름은 DisplayName 열에 표시됩니다.
  • 수동, 자동 또는 자동(지연된 시작)의 시작 유형이 있는 서비스만 시작할 수 있습니다. 시작 유형이 Disabled인 서비스를 시작할 수 없습니다. Start-Service 메시지 Cannot start service \<service-name\> on computerGet-CimInstance 와 함께 명령이 실패하는 경우 서비스의 시작 유형을 찾고, 필요에 따라 cmdlet을 사용하여 Set-Service 서비스의 시작 유형을 변경합니다.
  • 성능 로그 및 경고(SysmonLog)와 같은 일부 서비스는 수행할 작업이 없는 경우 자동으로 중지됩니다. PowerShell이 거의 즉시 중지되는 서비스를 시작하면 다음 메시지가 표시됩니다. Service \<display-name\> start failed.