New-Service
새 Windows 서비스를 만듭니다.
구문
Default (기본값)
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.
New-Service cmdlet은 레지스트리 및 서비스 데이터베이스에서 Windows 서비스에 대한 새 항목을 만듭니다. 새 서비스에는 서비스 중에 실행되는 실행 파일이 필요합니다.
이 cmdlet의 매개 변수를 사용하면 서비스의 표시 이름, 설명, 시작 유형 및 종속성을 설정할 수 있습니다.
예제
예제 1: 서비스 만들기
New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
이 명령은 TestService라는 서비스를 만듭니다.
예제 2: 설명, 시작 유형 및 표시 이름을 포함하는 서비스 만들기
$params = @{
Name = "TestService"
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
}
New-Service @params
이 명령은 TestService라는 서비스를 만듭니다.
New-Service 매개 변수를 사용하여 새 서비스에 대한 설명, 시작 유형 및 표시 이름을 지정합니다.
예제 3: 새 서비스 보기
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
이 명령은 Get-CimInstance 사용하여 새 서비스에 대한 Win32_Service 개체를 가져옵니다. 이 개체에는 시작 모드 및 서비스 설명이 포함됩니다.
예제 4: 만들 때 서비스의 SecurityDescriptor를 설정합니다.
다음은 생성되는 서비스의 SecurityDescriptor 추가하는 예제입니다.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
$params = @{
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
SecurityDescriptorSddl = $SDDL
}
New-Service @params
SecurityDescriptor$SDDLToSet 변수에 저장됩니다.
SecurityDescriptorSddl 매개 변수는 $SDDL 사용하여 새 서비스의 SecurityDescriptor 설정합니다.
매개 변수
-BinaryPathName
서비스에 대한 실행 파일의 경로를 지정합니다. 이 매개 변수는 필수입니다.
서비스 이진 파일에 대한 정규화된 경로입니다. 경로에 공백이 포함된 경우 올바르게 해석되도록 따옴표로 묶어야 합니다. 예를 들어 d:\my share\myservice.exe'"d:\my share\myservice.exe"'지정해야 합니다.
경로에는 자동 시작 서비스에 대한 인수도 포함될 수 있습니다. 예: '"d:\my share\myservice.exe" arg1 arg2'. 이러한 인수는 서비스 진입점으로 전달됩니다.
자세한 내용은 CreateServiceW API의 lpBinaryPathName 매개 변수를 참조하세요.
매개 변수 속성
| 형식: | 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같은 사용자 이름을 입력하거나 cmdlet에서 생성된 개체와 같은 Get-Credential 개체를 입력합니다. 사용자 이름을 입력하는 경우 이 cmdlet은 암호를 묻는 메시지를 표시합니다.
자격 증명은 PSCredential 개체에 저장되고 암호는 SecureString저장됩니다.
비고
SecureString 데이터 보호에 대한 자세한 내용은 SecureString이 얼마나 안전한가요?.
매개 변수 속성
| 형식: | 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 |
-SecurityDescriptorSddl
서비스에 대한 SecurityDescriptorSddl 형식으로 지정합니다.
매개 변수 속성
| 형식: | String |
| Default value: | None |
| 와일드카드 지원: | False |
| DontShow: | False |
| 별칭: | sd |
매개 변수 집합
(All)
| Position: | Named |
| 필수: | False |
| 파이프라인의 값: | False |
| 속성 이름별 파이프라인의 값: | False |
| 나머지 인수의 값: | False |
-StartupType
서비스의 시작 유형을 설정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
- 자동 - 서비스가 시스템 시작 시 운영 체제에서 시작되거나 시작되었습니다. 자동으로 시작된 서비스가 수동으로 시작된 서비스에 의존하는 경우 수동으로 시작된 서비스도 시스템 시작 시 자동으로 시작됩니다.
- AutomaticDelayedStart - 시스템이 부팅된 직후에 시작됩니다.
- 사용 안 함 - 서비스를 사용할 수 없으며 사용자 또는 애플리케이션에서 시작할 수 없습니다.
- InvalidValue - 이 값은 지원되지 않습니다. 이 값을 사용하면 오류가 발생합니다.
- 수동 - 서비스는 사용자, 서비스 제어 관리자 사용 또는 애플리케이션에서만 수동으로 시작됩니다.
기본값은 자동 .
매개 변수 속성
| 형식: | ServiceStartupType |
| Default value: | Automatic |
| 허용되는 값: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
| 와일드카드 지원: | 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은 새 서비스를 나타내는 개체를 반환합니다.
참고
이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.
이 cmdlet을 실행하려면 관리자 권한으로 실행 옵션을 사용하여 PowerShell을 시작합니다.