다음을 통해 공유


New-Service

새 Windows 서비스를 만듭니다.

구문

Default (기본값)

New-Service
    [-Name] <String>
    [-BinaryPathName] <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-StartupType <ServiceStartMode>]
    [-Credential <PSCredential>]
    [-DependsOn <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

New-Service cmdlet은 레지스트리 및 서비스 데이터베이스에서 Windows 서비스에 대한 새 항목을 만듭니다. 새 서비스에는 서비스 중에 실행되는 실행 파일이 필요합니다.

이 cmdlet의 매개 변수를 사용하면 서비스의 표시 이름, 설명, 시작 유형 및 종속성을 설정할 수 있습니다.

예제

예제 1: 서비스 만들기

PS C:\> New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs"

이 명령은 TestService라는 서비스를 만듭니다.

예제 2: 설명, 시작 유형 및 표시 이름을 포함하는 서비스 만들기

PS C:\> New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs" -DependsOn NetLogon -DisplayName "Test Service" -StartupType Manual -Description "This is a test service."

이 명령은 TestService라는 서비스를 만듭니다. New-Service 매개 변수를 사용하여 새 서비스에 대한 설명, 시작 유형 및 표시 이름을 지정합니다.

예제 3: 새 서비스 보기

PS C:\> Get-WmiObject win32_service -Filter "name='testservice'"
ExitCode  : 0
Name      : testservice
ProcessId : 0
StartMode : Auto
State     : Stopped
Status    : OK

이 명령은 Get-WmiObject 사용하여 새 서비스에 대한 Win32_Service 개체를 가져옵니다. 이 개체에는 시작 모드 및 서비스 설명이 포함됩니다.

예제 4: 서비스 삭제

PS C:\> sc.exe delete TestService
- or -
PS C:\> (Get-WmiObject win32_service -Filter "name='TestService'").delete()

이 예제에서는 TestService 서비스를 삭제하는 두 가지 방법을 보여줍니다. 첫 번째 명령은 Sc.exe삭제 옵션을 사용합니다. 두 번째 명령은 Get-WmiObject 반환할 Win32_Service 개체의 Delete 메서드를 사용합니다.

매개 변수

-BinaryPathName

서비스에 대한 실행 파일의 경로를 지정합니다. 이 매개 변수는 필수입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:1
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

매개 변수 속성

형식:SwitchParameter
Default value:False
와일드카드 지원:False
DontShow:False
별칭:cf(cf)

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Credential

서비스에서 서비스 로그온 계정으로 사용하는 계정을지정합니다.

User01 또는 Domain01\User01과 같은 사용자 이름을 입력하거나 Get-Credential cmdlet에서 생성된 개체와 같은 PSCredential 개체를 입력합니다. 사용자 이름을 입력하는 경우 이 cmdlet은 암호를 묻는 메시지를 표시합니다.

매개 변수 속성

형식:PSCredential
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-DependsOn

새 서비스가 의존하는 다른 서비스의 이름을 지정합니다. 여러 서비스 이름을 입력하려면 쉼표로 이름을 구분합니다.

매개 변수 속성

형식:

String[]

Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Description

서비스에 대한 설명을 지정합니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-DisplayName

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

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-Name

서비스의 이름을 지정합니다. 이 매개 변수는 필수입니다.

매개 변수 속성

형식:String
Default value:None
와일드카드 지원:False
DontShow:False
별칭:서비스 이름

매개 변수 집합

(All)
Position:0
필수:True
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-StartupType

서비스의 시작 유형을 설정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 수동. 서비스는 수동, 사용자, 서비스 제어 관리자 사용 또는 애플리케이션에서만 시작됩니다.
  • 자동. 서비스는 시스템 시작 시 운영 체제에서 시작되거나 시작되었습니다. 자동으로 시작된 서비스가 수동으로 시작된 서비스에 의존하는 경우 수동으로 시작된 서비스도 시스템 시작 시 자동으로 시작됩니다.
  • 비활성화됨. 서비스를 사용할 수 없으며 사용자 또는 애플리케이션에서 시작할 수 없습니다.

기본값은 Automatic입니다.

매개 변수 속성

형식:ServiceStartMode
Default value:None
허용되는 값:Automatic, Manual, Disabled
와일드카드 지원:False
DontShow:False

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

매개 변수 속성

형식:SwitchParameter
Default value:False
와일드카드 지원:False
DontShow:False
별칭:위스콘신

매개 변수 집합

(All)
Position:Named
필수:False
파이프라인의 값:False
속성 이름별 파이프라인의 값:False
나머지 인수의 값:False

CommonParameters

이 cmdlet은 일반적인 매개 변수인 -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction 및 -WarningVariable 매개 변수를 지원합니다. 자세한 내용은 about_CommonParameters를 참조하세요.

입력

None

이 cmdlet에 입력을 파이프할 수 없습니다.

출력

ServiceController

이 cmdlet은 새 서비스를 나타내는 개체를 반환합니다.

참고

  • Windows Vista 이상 버전의 Windows 운영 체제에서 이 cmdlet을 실행하려면 관리자 권한으로 실행 옵션을 사용하여 Windows PowerShell을 시작합니다.
  • 서비스를 삭제하려면 Sc.exe사용하거나 Get-WmiObject cmdlet을 사용하여 서비스를 나타내는 Win32_Service 개체를 가져와서 Delete 메서드를 사용하여 서비스를 삭제합니다. Get-Service 반환하는 개체에는 delete 메서드가 없습니다.