Set-Service
서비스를 시작, 중지 및 일시 중단하고 해당 속성을 변경합니다.
구문
Set-Service
[-Name] <String>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-Status <String>]
[-SecurityDescriptorSddl <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Service
[-InputObject] <ServiceController>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-SecurityDescriptorSddl <String>]
[-Status <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.
cmdlet은 Set-Service
상태, 설명, DisplayName 및 StartupType과 같은 서비스의 속성을 변경합니다. Set-Service
는 서비스를 시작, 중지, 일시 중단 또는 일시 중지할 수 있습니다. 서비스를 식별하려면 서비스 이름을 입력하거나 서비스 개체를 제출합니다. 또는 파이프라인 Set-Service
아래로 서비스 이름 또는 서비스 개체를 보냅니다.
예제
예제 1: 표시 이름 변경
이 예제에서는 서비스의 표시 이름이 변경됩니다. 원래 표시 이름을 보려면 .를 사용합니다 Get-Service
.
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"
Set-Service
는 Name 매개 변수를 사용하여 서비스의 이름인 LanmanWorkstation을 지정합니다. DisplayName 매개 변수는 새 표시 이름인 LanMan Workstation을 지정합니다.
예제 2: 서비스의 시작 유형 변경
이 예제에서는 서비스의 시작 유형을 변경하는 방법을 보여줍니다.
Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status
Name StartType Status
---- --------- ------
BITS Automatic Running
Set-Service
는 Name 매개 변수를 사용하여 서비스의 이름인 BITS를 지정합니다. StartupType 매개 변수는 서비스를 자동으로 설정합니다.
Get-Service
는 Name 매개 변수를 사용하여 BITS 서비스를 지정하고 개체를 파이프라인 아래로 보냅니다. Select-Object
는 Property 매개 변수를 사용하여 BITS 서비스의 상태를 표시 합니다 .
예제 3: 서비스에 대한 설명 변경
다음은 BITS 서비스의 설명을 변경하고 결과를 표시하는 예제입니다.
이 Get-CimInstance
cmdlet은 서비스의 설명이 포함된 Win32_Service 개체를 반환하기 때문에 사용됩니다.
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth. If the service is
disabled, then any applications that depend on BITS, such as Windows Update or MSN
Explorer, will be unable to automatically download programs and other information.
Set-Service -Name BITS -Description "Transfers files in the background using idle network bandwidth."
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth.
Get-CimInstance
는 파이프라인 Format-List
아래로 개체를 보내고 서비스의 이름과 설명을 표시합니다. 비교를 위해 설명이 업데이트되기 전과 후에 명령이 실행됩니다.
Set-Service
는 Name 매개 변수를 사용하여 BITS 서비스를 지정 합니다 . Description 매개 변수는 서비스 설명에 대한 업데이트된 텍스트를 지정합니다.
예제 4: 서비스 시작
이 예제에서는 서비스가 시작됩니다.
Set-Service -Name WinRM -Status Running -PassThru
Status Name DisplayName
------ ---- -----------
Running WinRM Windows Remote Management (WS-Manag...
Set-Service
는 Name 매개 변수를 사용하여 서비스 WinRM을 지정합니다. Status 매개 변수는 실행 중인 값을 사용하여 서비스를 시작합니다. PassThru 매개 변수는 결과를 표시하는 ServiceController 개체를 출력합니다.
예제 5: 서비스 일시 중단
이 예제에서는 파이프라인을 사용하여 서비스를 일시 중지합니다.
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service
는 Name 매개 변수를 사용하여 Schedule 서비스를 지정하고 개체를 파이프라인 아래로 보냅니다. Set-Service
는 Status 매개 변수를 사용하여 서비스를 일시 중지됨으로 설정합니다.
예제 6: 서비스 중지
이 예제에서는 변수를 사용하여 서비스를 중지합니다.
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped
Get-Service
는 Name 매개 변수를 사용하여 서비스인 Schedule을 지정합니다. 개체는 변수 $S
에 저장됩니다. Set-Service
에서는 InputObject 매개 변수를 사용하고 저장된 $S
개체를 지정합니다. Status 매개 변수는 서비스를 중지됨으로 설정합니다.
예제 7: 원격 시스템에서 서비스 중지
다음은 원격 컴퓨터에서 서비스를 중지하는 예제입니다. 자세한 내용은 Invoke-Command를 참조 하세요.
$Cred = Get-Credential
$S = Get-Service -Name Schedule
Invoke-Command -ComputerName server01.contoso.com -Credential $Cred -ScriptBlock {
Set-Service -InputObject $S -Status Stopped
}
Get-Credential
는 사용자 이름 및 암호를 묻는 메시지를 표시하고 자격 증명을 변수에 $Cred
저장합니다. Get-Service
는 Name 매개 변수를 사용하여 Schedule 서비스를 지정합니다. 개체는 변수 $S
에 저장됩니다.
Invoke-Command
는 ComputerName 매개 변수를 사용하여 원격 컴퓨터를 지정합니다. 자격 증명 매개 변수는 변수를 $Cred
사용하여 컴퓨터에 로그온합니다. ScriptBlock이 호출합니다Set-Service
. InputObject 매개 변수는 저장된 $S
서비스 개체를 지정합니다. Status 매개 변수는 서비스를 중지됨으로 설정합니다.
예제 8: 서비스의 자격 증명 변경
다음은 서비스를 관리하는 데 사용되는 자격 증명을 변경하는 예제입니다.
$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential
Get-Credential
는 사용자 이름 및 암호를 묻는 메시지를 표시하고 자격 증명을 변수에 $credential
저장합니다. Set-Service
는 Name 매개 변수를 사용하여 Schedule 서비스를 지정합니다. 자격 증명 매개 변수는 변수를 $credential
사용하고 Schedule 서비스를 업데이트합니다.
예제 9: 서비스의 SecurityDescriptor 변경
다음은 서비스의 SecurityDescriptor를 변경하는 예제입니다.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL
SecurityDescriptor는 변수에 $SDDL
저장됩니다. Set-Service
는 Name 매개 변수를 사용하여 BITS 서비스를 지정 합니다 . SecurityDescriptorSddl 매개 변수는 BITS 서비스의 SecurityDescriptor를 변경하는 데 사용합니다$SDDL
.
예제 10: 여러 서비스에 대한 시작 유형 설정
cmdlet은 Set-Service
한 번에 하나의 서비스 이름만 허용합니다. 그러나 여러 서비스를 파이프하여 Set-Service
여러 서비스의 구성을 변경할 수 있습니다.
Get-Service SQLWriter,spooler |
Set-Service -StartupType Automatic -PassThru |
Select-Object Name, StartType
Name StartType
---- ---------
spooler Automatic
SQLWriter Automatic
매개 변수
-Confirm
를 실행 Set-Service
하기 전에 확인 메시지를 표시합니다.
형식: | SwitchParameter |
별칭: | cf |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Credential
서비스에서 서비스 로그온 계정으로 사용하는 계정을 지정합니다.
User01 또는 Domain01\User01과 같은 사용자 이름을 입력하거나 cmdlet에서 생성된 것과 같은 PSCredential 개체를 Get-Credential
입력합니다. 사용자 이름을 입력하는 경우 이 cmdlet은 암호를 묻는 메시지를 표시합니다.
자격 증명은 PSCredential 개체에 저장되고 암호는 SecureString으로 저장됩니다.
참고 항목
SecureString 데이터 보호에 대한 자세한 내용은 SecureString이 얼마나 안전한가요?를 참조하세요.
이 매개 변수는 PowerShell 6.0에서 도입되었습니다.
형식: | PSCredential |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Description
서비스에 대한 새 설명을 지정합니다.
서비스 설명은 컴퓨터 관리, 서비스에 표시됩니다. Description은 ServiceController 개체의 속성이 Get-Service
아닙니다. 서비스 설명을 보려면 서비스를 나타내는 Win32_Service 개체를 반환하는 데 사용합니다Get-CimInstance
.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DisplayName
서비스의 새 표시 이름을 지정합니다.
참고 항목
일반적으로 Set-Service
드라이버가 아닌 Windows 서비스에서만 작동합니다. 그러나 드라이버의 이름을 지정하는 경우 드라이버를 Set-Service
대상으로 지정할 수 있습니다.
형식: | String |
별칭: | DN |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Force
서비스의 중지 모드를 지정합니다. 이 매개 변수는 사용되는 경우에만 작동합니다 -Status Stopped
. 사용하도록 설정된 Set-Service
경우 대상 서비스가 중지되기 전에 종속 서비스를 중지합니다. 기본적으로 다른 실행 중인 서비스가 대상 서비스에 의존할 때 예외가 발생합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-InputObject
변경할 서비스를 나타내는 ServiceController 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 명령과 같이 Get-Service
개체를 가져오는 명령이나 식을 입력합니다. 파이프라인을 사용하여 서비스 개체 Set-Service
를 .에 보낼 수 있습니다.
형식: | ServiceController |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Name
변경할 서비스의 서비스 이름을 지정합니다. 와일드카드 문자는 허용되지 않습니다. 파이프라인을 사용하여 서비스 이름을 Set-Service
.에 보낼 수 있습니다.
참고 항목
일반적으로 Set-Service
드라이버가 아닌 Windows 서비스에서만 작동합니다. 그러나 드라이버의 이름을 지정하는 경우 드라이버를 Set-Service
대상으로 지정할 수 있습니다.
형식: | String |
별칭: | ServiceName, SN |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-PassThru
변경된 서비스를 나타내는 ServiceController 개체를 반환합니다. 기본적으로 출력은 Set-Service
생성하지 않습니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-SecurityDescriptorSddl
서비스의 SecurityDescriptor를 Sddl 형식으로 지정합니다. 이 매개 변수를 사용하여 호출하는 Set-Service
계정에는 WRITE_DAC 및 WRITE_OWNER 권한이 있어야 합니다. 자세한 내용은 서비스 보안 및 액세스 권한을 참조 하세요.
형식: | String |
별칭: | sd |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-StartupType
서비스의 시작 모드를 지정합니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- 자동 - 서비스가 시스템 시작 시 운영 체제에서 시작되거나 시작되었습니다. 자동으로 시작되는 서비스가 수동으로 시작되는 서비스에 종속된 경우 수동으로 시작되는 서비스도 시스템 시작 시 자동으로 시작됩니다.
- AutomaticDelayedStart - 시스템이 부팅된 직후에 시작됩니다.
- 사용 안 함 - 서비스를 사용할 수 없으며 사용자 또는 애플리케이션에서 시작할 수 없습니다.
- InvalidValue - 효과가 없습니다. cmdlet은 오류를 반환하지 않지만 서비스의 StartupType은 변경되지 않습니다.
- 수동 - 서비스는 수동, 사용자, 서비스 제어 관리자 사용 또는 애플리케이션에서만 시작됩니다.
형식: | ServiceStartupType |
별칭: | StartMode, SM, ST, StartType |
허용되는 값: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Status
서비스의 상태를 지정합니다.
이 매개 변수에 허용되는 값은 다음과 같습니다.
- 일시 중지되었습니다. 서비스를 일시 중단합니다.
- 실행 중. 서비스를 시작합니다.
- 중지됨. 서비스를 중지합니다.
형식: | String |
허용되는 값: | Paused, Running, Stopped |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WhatIf
실행될 경우 Set-Service
어떤 일이 발생하는지 표시합니다. cmdlet이 실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
서비스 개체를 이 cmdlet으로 파이프할 수 있습니다.
서비스 이름이 포함된 문자열을 이 cmdlet으로 파이프할 수 있습니다.
출력
None
기본적으로 이 cmdlet은 출력을 반환하지 않습니다.
PassThru 매개 변수를 사용하는 경우 이 cmdlet은 ServiceController 개체를 반환합니다.
참고
이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.
Set-Service
에는 상승된 권한이 필요합니다. 관리자 권한으로 실행 옵션을 사용합니다.
Set-Service
는 현재 사용자에게 서비스를 관리할 수 있는 권한이 있는 경우에만 서비스를 제어할 수 있습니다. 명령이 제대로 작동하지 않으면 필요한 권한이 없을 수 있습니다.
서비스의 서비스 이름 또는 표시 이름을 찾으려면 .를 사용합니다 Get-Service
. 서비스 이름은 이름 열에 있고 표시 이름은 DisplayName 열에 있습니다.
관련 링크
PowerShell