윈도우 / 명령어 / SC - 서비스를 관리하는 명령어

윈도우 운영체제에서는 다양한 시스템 서비스가 백그라운드에서 실행되며, 이러한 서비스는 시스템의 성능과 안정성을 유지하는 데 중요한 역할을 합니다. SC(Service Controller) 명령어는 이러한 서비스를 관리하는 강력한 도구로, 서비스를 시작, 중지, 설정 변경, 삭제 등 다양한 작업을 수행할 수 있습니다.

SC를 사용할 때 일부 명령은 관리자 권한을 필요로 합니다. 따라서 관리자 권한으로 명령 프롬프트(CMD)를 열고 작업하는 것이 편합니다.

주요 명령 예시는 다음과 같습니다.

  • 서비스 목록을 출력합니다.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sc query type=service state=all
sc query type=service state=all
sc query type=service state=all
  • Windows 업데이트 서비스의 상태를 확인합니다.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sc query wuauserv
sc query wuauserv
sc query wuauserv
  • Windows 업데이트 서비스를 시작합니다.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sc start wuauserv
sc start wuauserv
sc start wuauserv
  • Windows 업데이트 서비스를 중지합니다.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sc stop wuauserv
sc stop wuauserv
sc stop wuauserv
  • Windows 업데이트 서비스의 시작 유형을 [자동]으로 설정합니다.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sc config wuauserv start=auto
sc config wuauserv start=auto
sc config wuauserv start=auto
  • Windows 업데이트 서비스의 시작 유형을 [수동]으로 설정합니다.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sc config wuauserv start=demand
sc config wuauserv start=demand
sc config wuauserv start=demand
  • Windows 업데이트 서비스의 시작 유형을 [사용 안 함]으로 설정합니다.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sc config wuauserv start=disabled
sc config wuauserv start=disabled
sc config wuauserv start=disabled
  • 도움말을 출력합니다.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sc
sc
sc
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
설명:
SC는 서비스 제어 관리자 및 서비스와의 통신에 사용되는
명령줄 프로그램입니다.
사용법:
sc <서버> [명령] [서비스 이름] <옵션1> <옵션2>...
<서버> 옵션의 형식은 "\\ServerName"입니다.
명령에 대한 자세한 도움말을 보려면 "sc [명령]"을 입력하세요.
명령:
query-----------서비스 상태를 쿼리하거나 서비스 종류의
상태를 열거합니다.
queryex---------서비스의 확장 상태를 쿼리하거나 서비스
종류의 상태를 열거합니다.
start-----------서비스를 시작합니다.
pause-----------서비스에 PAUSE 제어 요청을 보냅니다.
interrogate-----서비스에 INTERROGATE 제어 요청을 보냅니다.
continue--------서비스에 CONTINUE 제어 요청을 보냅니다.
stop------------서비스에 STOP 요청을 보냅니다.
config----------서비스 구성을 변경합니다(지속적).
description-----서비스 설명을 변경합니다.
failure---------서비스가 실패했을 때 수행할 동작을 변경합니다.
failureflag-----서비스의 오류 동작 플래그를 변경합니다.
sidtype---------서비스의 서비스 SID 형식을 변경합니다.
privs-----------서비스에 필요한 권한을 변경합니다.
managedaccount--LSA가 관리하는 대로 서비스 계정 암호를 표시하도록
서비스를 변경합니다.
qc--------------서비스의 구성 정보를 쿼리합니다.
qdescription----서비스 설명을 쿼리합니다.
qfailure--------서비스가 실패했을 때 수행할 동작을 쿼리합니다.
qfailureflag----서비스의 오류 동작 플래그를 쿼리합니다.
qsidtype--------서비스의 서비스 SID 형식을 쿼리합니다.
qprivs----------서비스에 필요한 권한을 쿼리합니다.
qtriggerinfo----서비스의 트리거 매개 변수를 쿼리합니다.
qpreferrednode--서비스의 기본 설정 NUMA 노드를 쿼리합니다.
qmanagedaccount-서비스에서 LSA가 관리하는 암호로 계정을 사용하는지
여부를 쿼리합니다.
qprotection-----서비스의 프로세스 보호 수준을 쿼리합니다.
quserservice----사용자 서비스 템플릿의 로컬 인스턴스를 쿼리합니다.
delete----------서비스를 레지스트리에서 삭제합니다.
create----------서비스를 만들고 레지스트리에 추가합니다.
control---------서비스에 제어를 보냅니다.
sdshow----------서비스의 보안 설명자를 표시합니다.
sdset-----------서비스의 보안 설명자를 설정합니다.
showsid---------임의 이름에 해당되는 서비스 SID 문자열을 표시합니다.
triggerinfo-----서비스의 트리거 매개 변수를 구성합니다.
preferrednode---서비스의 기본 설정 NUMA 노드를 설정합니다.
GetDisplayName--서비스의 DisplayName을 가져옵니다.
GetKeyName------서비스의 ServiceKeyName을 가져옵니다.
EnumDepend------서비스 종속성을 열거합니다.
다음 명령에는 서비스 이름이 필요하지 않습니다.
sc <서버> <명령> <옵션>
boot------------(ok | bad) 마지막 부팅을 마지막으로 성공한 부팅
구성으로 저장할 것인지를 나타냅니다.
Lock------------서비스 데이터베이스를 잠급니다.
QueryLock-------SCManager 데이터베이스의 LockStatus를 쿼리합니다.
예:
sc start MyService
QUERY 및 QUERYEX 옵션:
쿼리 명령어 뒤에 서비스 이름이 오면, 해당 서비스의
상태가 반환됩니다. 이 경우 다른 옵션은 적용되지
않습니다. 쿼리 명령어 뒤에 아무 것도 오지 않거나
아래 나열된 옵션 중의 하나가 오면, 서비스가 열거됩니다.
type= 열거할 서비스 종류(driver, service, userservice, all)
(기본값 = service)
state= 열거할 서비스 상태(inactive, all)
(기본값 = active)
bufsize= 열거할 버퍼 크기(바이트)
(기본값 = 4096)
ri= 열거하기 시작할 계속 인덱스 번호
(기본값 = 0)
group= 열거할 서비스 그룹
(기본값 = all groups)
구문 예제
sc query - 활성 서비스 및 드라이버의 상태 열거
sc query eventlog - 이벤트 로그 서비스의 상태 표시
sc queryex eventlog - 이벤트 로그 서비스의 세부 상태 표시
sc query type= driver - 활성 드라이버만 열거
sc query type= service - Win32 서비스만 열거
sc query state= all - 모든 서비스 및 드라이버 열거
sc query bufsize= 50 - 50바이트 버퍼로 열거
sc query ri= 14 - 계속 인덱스 = 14로 열거
sc queryex group= "" - 그룹에 없는 활성 서비스 열거
sc query type= interact - 모든 인터랙티브 서비스 열거
sc query type= driver group= NDIS - 모든 NDIS 드라이버 열거
설명: SC는 서비스 제어 관리자 및 서비스와의 통신에 사용되는 명령줄 프로그램입니다. 사용법: sc <서버> [명령] [서비스 이름] <옵션1> <옵션2>... <서버> 옵션의 형식은 "\\ServerName"입니다. 명령에 대한 자세한 도움말을 보려면 "sc [명령]"을 입력하세요. 명령: query-----------서비스 상태를 쿼리하거나 서비스 종류의 상태를 열거합니다. queryex---------서비스의 확장 상태를 쿼리하거나 서비스 종류의 상태를 열거합니다. start-----------서비스를 시작합니다. pause-----------서비스에 PAUSE 제어 요청을 보냅니다. interrogate-----서비스에 INTERROGATE 제어 요청을 보냅니다. continue--------서비스에 CONTINUE 제어 요청을 보냅니다. stop------------서비스에 STOP 요청을 보냅니다. config----------서비스 구성을 변경합니다(지속적). description-----서비스 설명을 변경합니다. failure---------서비스가 실패했을 때 수행할 동작을 변경합니다. failureflag-----서비스의 오류 동작 플래그를 변경합니다. sidtype---------서비스의 서비스 SID 형식을 변경합니다. privs-----------서비스에 필요한 권한을 변경합니다. managedaccount--LSA가 관리하는 대로 서비스 계정 암호를 표시하도록 서비스를 변경합니다. qc--------------서비스의 구성 정보를 쿼리합니다. qdescription----서비스 설명을 쿼리합니다. qfailure--------서비스가 실패했을 때 수행할 동작을 쿼리합니다. qfailureflag----서비스의 오류 동작 플래그를 쿼리합니다. qsidtype--------서비스의 서비스 SID 형식을 쿼리합니다. qprivs----------서비스에 필요한 권한을 쿼리합니다. qtriggerinfo----서비스의 트리거 매개 변수를 쿼리합니다. qpreferrednode--서비스의 기본 설정 NUMA 노드를 쿼리합니다. qmanagedaccount-서비스에서 LSA가 관리하는 암호로 계정을 사용하는지 여부를 쿼리합니다. qprotection-----서비스의 프로세스 보호 수준을 쿼리합니다. quserservice----사용자 서비스 템플릿의 로컬 인스턴스를 쿼리합니다. delete----------서비스를 레지스트리에서 삭제합니다. create----------서비스를 만들고 레지스트리에 추가합니다. control---------서비스에 제어를 보냅니다. sdshow----------서비스의 보안 설명자를 표시합니다. sdset-----------서비스의 보안 설명자를 설정합니다. showsid---------임의 이름에 해당되는 서비스 SID 문자열을 표시합니다. triggerinfo-----서비스의 트리거 매개 변수를 구성합니다. preferrednode---서비스의 기본 설정 NUMA 노드를 설정합니다. GetDisplayName--서비스의 DisplayName을 가져옵니다. GetKeyName------서비스의 ServiceKeyName을 가져옵니다. EnumDepend------서비스 종속성을 열거합니다. 다음 명령에는 서비스 이름이 필요하지 않습니다. sc <서버> <명령> <옵션> boot------------(ok | bad) 마지막 부팅을 마지막으로 성공한 부팅 구성으로 저장할 것인지를 나타냅니다. Lock------------서비스 데이터베이스를 잠급니다. QueryLock-------SCManager 데이터베이스의 LockStatus를 쿼리합니다. 예: sc start MyService QUERY 및 QUERYEX 옵션: 쿼리 명령어 뒤에 서비스 이름이 오면, 해당 서비스의 상태가 반환됩니다. 이 경우 다른 옵션은 적용되지 않습니다. 쿼리 명령어 뒤에 아무 것도 오지 않거나 아래 나열된 옵션 중의 하나가 오면, 서비스가 열거됩니다. type= 열거할 서비스 종류(driver, service, userservice, all) (기본값 = service) state= 열거할 서비스 상태(inactive, all) (기본값 = active) bufsize= 열거할 버퍼 크기(바이트) (기본값 = 4096) ri= 열거하기 시작할 계속 인덱스 번호 (기본값 = 0) group= 열거할 서비스 그룹 (기본값 = all groups) 구문 예제 sc query - 활성 서비스 및 드라이버의 상태 열거 sc query eventlog - 이벤트 로그 서비스의 상태 표시 sc queryex eventlog - 이벤트 로그 서비스의 세부 상태 표시 sc query type= driver - 활성 드라이버만 열거 sc query type= service - Win32 서비스만 열거 sc query state= all - 모든 서비스 및 드라이버 열거 sc query bufsize= 50 - 50바이트 버퍼로 열거 sc query ri= 14 - 계속 인덱스 = 14로 열거 sc queryex group= "" - 그룹에 없는 활성 서비스 열거 sc query type= interact - 모든 인터랙티브 서비스 열거 sc query type= driver group= NDIS - 모든 NDIS 드라이버 열거
설명:
        SC는 서비스 제어 관리자 및 서비스와의 통신에 사용되는
        명령줄 프로그램입니다.
사용법:
        sc <서버> [명령] [서비스 이름] <옵션1> <옵션2>...


        <서버> 옵션의 형식은 "\\ServerName"입니다.
        명령에 대한 자세한 도움말을 보려면 "sc [명령]"을 입력하세요.
        명령:
          query-----------서비스 상태를 쿼리하거나 서비스 종류의
                          상태를 열거합니다.
          queryex---------서비스의 확장 상태를 쿼리하거나 서비스
                          종류의 상태를 열거합니다.
          start-----------서비스를 시작합니다.
          pause-----------서비스에 PAUSE 제어 요청을 보냅니다.
          interrogate-----서비스에 INTERROGATE 제어 요청을 보냅니다.
          continue--------서비스에 CONTINUE 제어 요청을 보냅니다.
          stop------------서비스에 STOP 요청을 보냅니다.
          config----------서비스 구성을 변경합니다(지속적).
          description-----서비스 설명을 변경합니다.
          failure---------서비스가 실패했을 때 수행할 동작을 변경합니다.
          failureflag-----서비스의 오류 동작 플래그를 변경합니다.
          sidtype---------서비스의 서비스 SID 형식을 변경합니다.
          privs-----------서비스에 필요한 권한을 변경합니다.
          managedaccount--LSA가 관리하는 대로 서비스 계정 암호를 표시하도록
                          서비스를 변경합니다.
          qc--------------서비스의 구성 정보를 쿼리합니다.
          qdescription----서비스 설명을 쿼리합니다.
          qfailure--------서비스가 실패했을 때 수행할 동작을 쿼리합니다.
          qfailureflag----서비스의 오류 동작 플래그를 쿼리합니다.
          qsidtype--------서비스의 서비스 SID 형식을 쿼리합니다.
          qprivs----------서비스에 필요한 권한을 쿼리합니다.
          qtriggerinfo----서비스의 트리거 매개 변수를 쿼리합니다.
          qpreferrednode--서비스의 기본 설정 NUMA 노드를 쿼리합니다.
          qmanagedaccount-서비스에서 LSA가 관리하는 암호로 계정을 사용하는지
                          여부를 쿼리합니다.
          qprotection-----서비스의 프로세스 보호 수준을 쿼리합니다.
          quserservice----사용자 서비스 템플릿의 로컬 인스턴스를 쿼리합니다.
          delete----------서비스를 레지스트리에서 삭제합니다.
          create----------서비스를 만들고 레지스트리에 추가합니다.
          control---------서비스에 제어를 보냅니다.
          sdshow----------서비스의 보안 설명자를 표시합니다.
          sdset-----------서비스의 보안 설명자를 설정합니다.
          showsid---------임의 이름에 해당되는 서비스 SID 문자열을 표시합니다.
          triggerinfo-----서비스의 트리거 매개 변수를 구성합니다.
          preferrednode---서비스의 기본 설정 NUMA 노드를 설정합니다.
          GetDisplayName--서비스의 DisplayName을 가져옵니다.
          GetKeyName------서비스의 ServiceKeyName을 가져옵니다.
          EnumDepend------서비스 종속성을 열거합니다.

        다음 명령에는 서비스 이름이 필요하지 않습니다.
        sc <서버> <명령> <옵션>
          boot------------(ok | bad) 마지막 부팅을 마지막으로 성공한 부팅
                          구성으로 저장할 것인지를 나타냅니다.
          Lock------------서비스 데이터베이스를 잠급니다.
          QueryLock-------SCManager 데이터베이스의 LockStatus를 쿼리합니다.
예:
        sc start MyService


QUERY 및 QUERYEX 옵션:
        쿼리 명령어 뒤에 서비스 이름이 오면, 해당 서비스의
        상태가 반환됩니다. 이 경우 다른 옵션은 적용되지
        않습니다. 쿼리 명령어 뒤에 아무 것도 오지 않거나
        아래 나열된 옵션 중의 하나가 오면, 서비스가 열거됩니다.
    type=    열거할 서비스 종류(driver, service, userservice, all)
             (기본값 = service)
    state=   열거할 서비스 상태(inactive, all)
             (기본값 = active)
    bufsize= 열거할 버퍼 크기(바이트)
             (기본값 = 4096)
    ri=      열거하기 시작할 계속 인덱스 번호
             (기본값 = 0)
    group=   열거할 서비스 그룹
             (기본값 = all groups)

구문 예제
sc query                - 활성 서비스 및 드라이버의 상태 열거
sc query eventlog       - 이벤트 로그 서비스의 상태 표시
sc queryex eventlog     - 이벤트 로그 서비스의 세부 상태 표시
sc query type= driver   - 활성 드라이버만 열거
sc query type= service  - Win32 서비스만 열거
sc query state= all     - 모든 서비스 및 드라이버 열거
sc query bufsize= 50    - 50바이트 버퍼로 열거
sc query ri= 14         - 계속 인덱스 = 14로 열거
sc queryex group= ""    - 그룹에 없는 활성 서비스 열거
sc query type= interact - 모든 인터랙티브 서비스 열거
sc query type= driver group= NDIS     - 모든 NDIS 드라이버 열거
같은 카테고리의 다른 글
윈도우 11 / 터미널 / 사용법 / 원하는 폴더에서 여는 방법

윈도우 11 / 터미널 / 사용법 / 원하는 폴더에서 여는 방법

터미널은 사용자 폴더를 기준으로 열립니다. 예를 들어 사용자 이름이 ABC라면 C:\Users\ABC 에서 시작하게 됩니다. 윈도우 11은 윈도우 10과 다르게, 마우스 우클릭 메뉴에 가 있습니다. 이를 이용하면 원하는 폴더를 기준으로 터미널을 열 수 있습니다. 원하는 폴더에서 마우스 우클릭 후 를 클릭하면... 그 폴더를 기준으로 한 PowerShell이 열립니다. 만약 PowerShell이 아니라 명령 프롬프트가 열리게 하고 싶다면, ...

윈도우 10 / PC용 구글 드라이브 설치하는 방법

윈도우 10 / PC용 구글 드라이브 설치하는 방법

PC용 구글 드라이브를 설치하면, PC의 파일을 구글 드라이브에, 구글 드라이브의 파일을 PC에 동기화(백업) 할 수 있습니다. 내 개인 자료가 클라우드에 있는 것이 싫어서 PC의 파일을 구글 드라이브에 올리지는 않지만, 구글 드라이브에 있는 자료를 내 PC로 옮길 때는 PC용 구글 드라이브가 편합니다. 스마트폰으로 찍은 사진을 구글 포토에 백업하고 있다면, 구글 포토에서 구글 ...

윈도우 서버 2019 / Hyper-V / 중첩된 가상화 - Hyper-V 가상 머신 안에 Hyper-V 만들기

윈도우 서버 2019 / Hyper-V / 중첩된 가상화 - Hyper-V 가상 머신 안에 Hyper-V 만들기

중첩된 가상화 여러 팀이 같이 사용하는 테스트용 서버가 있다. OS는 Windows Server 2019이고, Hyper-V를 이용하여 가상 머신을 여러 개 만들어 이것 저것 시험한다. 이 때 불편한 점은 다른 팀의 가상 머신도 보이고, 호스트 설정을 마음대로 변경할 수 없다는 것이다. 각 팀 별로 독립적인 공간을 갖추고 싶다면 그 수만큼 물리적 서버가 있어야 ...

윈도우 11 / 로컬 사용자 계정 / 추가하는 방법, 삭제하는 방법

윈도우 11 / 로컬 사용자 계정 / 추가하는 방법, 삭제하는 방법

Windows 11의 로컬 사용자 계정이란, 해당 컴퓨터에서만 사용 가능한 사용자 계정을 의미합니다. 이 계정은 Microsoft 계정과 연결되지 않으며, 로컬 사용자로 로그인하면 해당 컴퓨터에만 적용되는 설정 및 데이터를 사용할 수 있습니다. 윈도우 11에서 로컬 사용자 계정을 추가하는 방법, 삭제하는 방법은 다음과 같습니다. 표준 사용자와 관리자 권한 차이 로컬 사용자는 표준 사용자와 관리자로 구분됩니다. 로컬 ...

윈도우 11 / PowerToys / 사용법 / Color Picker

윈도우 11 / PowerToys / 사용법 / Color Picker

모니터 화면에 있는 특정 색을 추출하는 프로그램을 보통 Color Picker라고 한다. Color Picker는 포토샵 등 여러 프로그램에 포함되어 있는데, PowerToys에도 포함되어 있다. 단축키는 이다. 형식은 HEX인데, 에서 변경할 수 있다. CMYK, RGB, HSB 등 여러 가지 형식에서 선택할 수 있다. 단축키 를 누르고 ...

윈도우 10 / Microsoft Defender / 실시간 보호 끄는 방법

윈도우 10 / Microsoft Defender / 실시간 보호 끄는 방법

윈도우 10을 설치하면 마이크로소프트의 보안 프로그램 디펜더(Defender)가 자동으로 설치됩니다. 별도로 백신을 구입하고 설치할 필요가 없어서 편하기는 합니다. 마이크로소프트가 대충 만들 것도 아니구요. 보통의 백신 프로그램이 그러하듯이, 마이크로소프트 디펜더도 실시간 보호 기능이 있습니다. 프로그램을 설치하거나 파일을 다운로드 하는 등 어떤 변화가 있을 때 바로바로 검사를 하는 기능입니다. 그런데 단점도 있습니다. 실행해야할 프로그램을 악성코드로 ...

윈도우 11 / 작업 표시줄 / 단추 제거하는 방법

윈도우 11 / 작업 표시줄 / 단추 제거하는 방법

작업 표시줄에 자주 사용하는 프로그램을 등록해둔다. 프로그램을 가장 빠르게 실행할 수 있는 방법이 작업 표시줄의 아이콘을 클릭하는 것이기 때문이다. 만약 작업 표시줄에 등록한 프로그램을 제거하고 싶으면, 마우스 우클릭 후 를 클릭하면 된다. 그런데 몇 개의 아이콘은 그 방법으로 없어지지가 않는다. 검색, 작업 보기, 위젯, 채팅이 그런데, 그런 아이콘은 설정에서 ...

윈도우 서버 2022 / Active Directory / 그룹 정책 / ADMX 추가하는 방법

윈도우 서버 2022 / Active Directory / 그룹 정책 / ADMX 추가하는 방법

Windows Server에서 제공하지 않는 그룹 정책은 별도로 등록하여 만들 수 있습니다. 아래는 Google에서 제공하는 크롬 템플릿 파일을 다운로드하여 Chrome 관련 정책을 만드는 방법입니다. 크롬 템플릿 다운로드 아래 링크에서 템플릿을 다운로드합니다. https://chromeenterprise.google/browser/download 템플릿 파일 등록 admx 파일과 언어 폴더를 복사합니다. 언어는 필요한 것만 복사하면 됩니다. Windows의 PolicyDefinitions 폴더에 붙여넣습니다. 도메인 컨트롤러가 여러 개라면 모든 서버에 추가합니다. 그룹 정책 개체를 ...

윈도우 11 / 초기화 하는 방법

윈도우 11 / 초기화 하는 방법

윈도우 11을 초기화하는 방법은 몇 가지가 있는데, 가장 편한 방법은 윈도우 11에 포함된 복구 기능을 이용하는 것입니다. 설치용 USB를 만들 필요도 없이, 몇 번의 클릭으로 초기화를 할 수 있습니다.

윈도우 10 / 모니터 주사율(새로 고침 빈도) 설정하는 방법

윈도우 10 / 모니터 주사율(새로 고침 빈도) 설정하는 방법

모니터는 별도의 설정 없이 연결만 하면 사용할 수 있는 기기 중의 하나입니다. 그런데 간혹 설정이 맞지 않아 제대로 작동하지 않는 경우가 있습니다. 대표적인 것이 주사율입니다.(Windows에서는 새로 고침 빈도라고 표현하고 있습니다.) 그래픽 카드를 교체하거나, 새 모니터를 연결했을 때 주사율이 엉뚱하게 설정된다면 윈도우 설정에서 제대로 잡아줍니다. 설정하는 방법은... Windows 설정을 엽니다. 단축키는 WIN+I입니다. 을 클릭합니다. 왼쪽에서 ...