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

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

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

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

  • 서비스 목록을 출력합니다.
sc query type=service state=all
  • Windows 업데이트 서비스의 상태를 확인합니다.
sc query wuauserv
  • Windows 업데이트 서비스를 시작합니다.
sc start wuauserv
  • Windows 업데이트 서비스를 중지합니다.
sc stop wuauserv
  • Windows 업데이트 서비스의 시작 유형을 [자동]으로 설정합니다.
sc config wuauserv start=auto
  • Windows 업데이트 서비스의 시작 유형을 [수동]으로 설정합니다.
sc config wuauserv start=demand
  • Windows 업데이트 서비스의 시작 유형을 [사용 안 함]으로 설정합니다.
sc config wuauserv start=disabled
  • 도움말을 출력합니다.
sc
설명:
        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 / 원드라이브 삭제하는 방법

윈도우 11을 설치하면 원드라이브가 같이 설치됩니다. 설치되는 것뿐만 아니라 시작 프로그램에 등록되고, 파일 탐색기에서도 OneDrive를 볼 수 있습니다. 원드라이브를 사용하지 않을 것이라면 상당히 거슬립니다. 원드라이브를 사용하지 않는다면 삭제를 할 수 있습니다. 필요하면 다시 다운로드하여 설치하면 되므로, 지우지 못할 이유는 없습니다. 원드라이브를 삭제하는 방법은 다음과 같습니다. 설정을 엽니다. 단축키는 WIN+I입니다. 왼쪽에서 을 클릭합니다. 오른쪽에서 을 ...

윈도우 11 / 디스플레이 / 화면 배율, 해상도, 새로 고침 빈도(모니터 주사율) 설정하는 방법

윈도우 11 / 디스플레이 / 화면 배율, 해상도, 새로 고침 빈도(모니터 주사율) 설정하는 방법

화면 배율은 화면에 표시되는 텍스트, 아이콘 및 기타 UI 요소의 크기를 조정하는 설정입니다. 배율을 조정하면 해상도는 동일하게 유지되지만, 디스플레이에 표시되는 내용의 크기가 변경됩니다. 화면 해상도는 화면에 표시되는 픽셀의 수를 나타냅니다. 가로 픽셀 수 × 세로 픽셀 수 형식으로 표현되며, 해상도가 높을수록 더 많은 픽셀이 사용되어 화면이 더 세밀하고 선명하게 보입니다. 새로 고침 ...

윈도우 10 / 사진 앱 등 윈도우 기본 앱 초기화하는 방법

윈도우 10 / 사진 앱 등 윈도우 기본 앱 초기화하는 방법

윈도우 10의 기본 이미지 뷰어는 이에요. 처음엔 어색해서 잘 쓰지 않았는데, 몇 번 사용해보니 꽤 좋아요. 이미지를 보정하거나 편집할 수도 있고, 앨범을 만들 수도 있어요. 예전의 무비메이커처럼 사진들로 동영상을 만들 수도 있어요. 사진이 있는 폴더들을 추가하면, 모든 폴더의 사진들을 한 번에 볼 수 있는 것도 편해요. 그런데, 이런저런 작업을 하다보니 좀 꼬였나봐요. 설정이 ...

윈도우 / 인터넷 시간 서버(NTP 서버) 변경하는 방법

윈도우 / 인터넷 시간 서버(NTP 서버) 변경하는 방법

인터넷이 연결된 상태라면 보통 시간 서버에서 시간을 가져오고 동기화한다. 기본값은 time.windows.com이다. 다른 시간 서버로 변경하고 싶다면 아래와 같이 한다. OS별로 구분했지만, 설정하는 방법은 같다고 봐도 된다. Windows Server 2022 오른쪽 아래 날짜와 시간이 있는 곳에 마우스를 올리고 우클릭한다. 을 클릭한다. 를 클릭한다. 을 클릭한다. 서버를 선택 목록에서 선택하거나 ...

윈도우 11 / 창의 그림자 효과 없애는 방법

윈도우 11 / 창의 그림자 효과 없애는 방법

윈도우 11은 윈도우 10에 비하여 디자인이 많이 바뀌었다. 뛰어난 디자이너들이 나름 의미를 부여하면서 작업한 것이겠지만, 아직은 좋은지 잘 모르겠다. 특히 작업표시줄 그룹 해제가 안되는 것은 너무 불편. 바탕화면 기본 이미지가 바뀌어서인지 창의 그림자 효과가 눈에 아주 잘 들어온다. 윈도우 10에서도 있던 것인데, 그림자가 더 진해졌나? 시각적으로 보기 좋게 만든 것이기는 한데, ...

윈도우 10 / 시작 메뉴, 작업 표시줄에서 최근 사용한 파일 목록 지우는 방법

윈도우 10 / 시작 메뉴, 작업 표시줄에서 최근 사용한 파일 목록 지우는 방법

윈도우에서 파일을 사용하면 파일 탐색기의 에 나온다. 프로그램에서 마우스 우클릭해도 해당 프로그램이 사용한 파일 목록이 나온다. 보안, 사생활 보호 등의 이유로 이 목록이 보이지 않게 하고 싶다면... 설정을 연다.(단축키는 WIN+I) 을 클릭한다. 가 ...

다른 서버나 컴퓨터의 포트가 열렸는지 확인하는 방법

다른 서버의 특정 포트가 열려 있는지 알아야 할 때가 있습니다. 윈도우와 리눅스에서 확인하는 방법을 정리합니다. 윈도우 telnet 명령어 이용하는 방법 텔넷 클라이언트 기능을 추가합니다. 명령 프롬프트(CMD) 또는 PowerShell에서 다음과 같이 명령합니다. google.com의 443 포트가 열렸는지 확인하는 것입니다. C:\Users\JB>telnet google.com 443 포트가 열려 있다면 아무 내용 없는 창이 나옵니다. 만약 닫혀 있다면 아래와 같이 연결하지 못한다는 메시지가 나옵니다. C:\Users\JB>telnet ...

윈도우 11 / 터미널 / 사용법 / SSH 접속하는 방법

윈도우 11 / 터미널 / 사용법 / SSH 접속하는 방법

SSH로 리눅스에 접속할 때 보통 Putty 같은 전용 프로그램을 사용합니다. 하지만 윈도우의 명령 프롬프트(CMD)나 파워쉘(PowerShell)에서도 SSH 접속이 가능합니다. SSH에 접속하는 방법, 터미널을 이용하여 접속 정보를 저장하는 방법을 알아봅니다. SSH 접속하는 방법 터미널을 실행하고, 명령 프롬프트 또는 Windows PowerShell을 엽니다. 예를 들어 192..168.3.245에 root 계정으로 접속하고 싶다면 다음과 같이 명령합니다. ssh root@192.168.3.245 암호를 입력하고 로그인합니다. SSH 포트가 22가 ...

윈도우 10 / 시작프로그램 / 프로그램 등록하는 방법

윈도우 10 / 시작프로그램 / 프로그램 등록하는 방법

자주 사용하는 프로그램은 컴퓨터를 켬과 동시에 실행되도록 하는 것이 편합니다. 이렇듯 윈도우 부팅 시 자동으로 실행되는 프로그램을 시작프로그램이라고 하는데, 많은 소프트웨어가 설치할 때 시작프로그램에 등록됩니다. 금융 사이트 접속할 때 필요한 온갖 보안 프로그램이 대표적인 예입니다. 만약 자주 사용하는 프로그램인데 시작프로그램에 등록되어 있지 않다면 수동으로 등록시킬 수 있습니다. 레지스트리를 편집하는 방법과 시작프로그램 ...

윈도우 / 메모

시작 프로그램 폴더 여는 방법 로 실행 창 연 후 다음 명령 실행 shell:startup 환경 변수 윈도우를 C 드라이브에 설치하였고, 사용자 이름이 JB라는 가정 하에... %UserProfile% : C:\Users\JB - 파일 탐색기 주소 표시줄에 사용자 이름만 나옴 %HomePath% : C:\Users\JB %Temp% : C:\Users\JB\AppData\Local\Temp %LocalAppData% : C:\Users\JB\AppData\Local %AppData% : C:\Users\JB\AppData\Roaming 기본 공유 중지 [컴퓨터 관리 - 시스템 도구 - 공유 폴더 ...