윈도우 / 명령어 / 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 드라이버 열거
같은 카테고리의 다른 글
윈도우 10 / 시작 메뉴에 폴더 추가하는 방법

윈도우 10 / 시작 메뉴에 폴더 추가하는 방법

윈도우 10에서 왼쪽 밑에 있는 시작 버튼을 클릭하면 시작 메뉴와 화면이 주욱 올라옵니다. 설치한 앱과 프로그램 목록이 있고, 자주 사용하는 프로그램은 시작 화면에 등록해둘 수 있죠. 시작 메뉴의 왼쪽에는 전원, 설정 등의 아이콘이 있는데 공간에 비해 아이콘이 몇 개 없습니다. 좀 허전하죠? 그 곳에 자주 접근하는 폴더를 등록해놓고 활용할 수 있습니다. [Win + ...

윈도우 11 / 시작 프로그램 관리하는 방법

윈도우 11 / 시작 프로그램 관리하는 방법

윈도우를 시작하면 자동으로 실행되는 프로그램을 시작 프로그램 또는 시작 앱이라고 합니다. 사용의 편의, 보안 등 여러 가지 이유로 등록이 되는데, 시스템이 느려지는 이유이기도 하죠. 자주 사용하지 않는 앱이라면 자동으로 시작하지 않게 설정하는 게 좋습니다. 방볍은 여러 가지가 있는데, 보통 다음 세가지 중 하나를 사용합니다. 개별 프로그램 설정에서 설정하기 작업 관리자에서 설정하기 설정에서 설정하기 개별 프로그램 ...

윈도우 11 / Micorosft Teams / 삭제 또는 비활성화 하는 방법

윈도우 11 / Micorosft Teams / 삭제 또는 비활성화 하는 방법

윈도우 11을 설치하면 Micorosft Teams가 자동으로 설치된다. 마이크로소프트에서 제공하는 메신저 프로그램으로, 마이크로소프트 계정이 있으면 사용할 수 있다. 외국에서는 사용자가 많아지고 있다는데, 국내에서는 모르는 사람도 많고, 안다 해도 사용하는 사람이 별로 없는 듯 하다. 윈도우에 끼워 넣기 시작했으니, 앞으로는 많아질려나? 이 Microsoft Teams는 개인용으로, 기업에서 사용하는 Teams와는 좀 다르다. 기업용 팀즈를 설치하면 두 개의 ...

윈도우 11 / 프로그램 제거하는 세가지 방법

윈도우 11 / 프로그램 제거하는 세가지 방법

윈도우 11에서 프로그램을 제거하는 방법 세 가지를 소개한다. 방법 1이 제일 편하고, 방법 1 또는 방법 2로 제거되지 않을 때 방법 3으로 해결되는 경우가 간혹 있다. 방법 1 또는 방법 2에 나오는 프로그램 목록과 방법 3에 나오는 프로그램 목록이 다르다. 방법 1 시작 메뉴에서 프로그램 아이콘에 마우스를 올리고 우클릭한다. 를 클릭한다. 방법 2 윈도우 설정을 연다. 단축키는 ...

윈도우 10 / 원격 데스크톱 / 연결 허용하는 방법, 연결하는 방법

윈도우 10 / 원격 데스크톱 / 연결 허용하는 방법, 연결하는 방법

내 PC를 원격에서 접속하여 제어하는 가장 간단한 방법은 원격 데스크톱을 이용하는 것이다. 접속을 받는 PC에서는 원격 데스크톱 연결을 허용해주고, 접속을 하는 PC에서는 원격 데스크톱 연결 앱으로 접속한다. 접속은 받는 PC는 Windows Pro 이상의 에디션이어야 한다. 즉, Windows Home은 지원하지 않는다. 원격 데스크톱 연결 허용하는 방법 접속을 받는 PC에서 Windows 설정을 연다. 단축키는 WIN+I이다. 을 클릭합니다. 왼쪽에서 ...

윈도우 10 / BitLocker로 드라이브 암호화하는 방법

윈도우 10 / BitLocker로 드라이브 암호화하는 방법

컴퓨터를 사용하다보면 중요한 정보가 있는, 나만 봐야 하는 파일들이 생깁니다. 남들이 못보게 하는 방법은 여러 가지가 있는데, 그 중 하나가 BitLocker입니다. 드라이브 전체를 암호화하고, 비밀번호를 알아야만 접근할 수 있게 해주는 기능입니다. 특히 노트북을 사용한다면 중요 파일들을 한 드라이브에 모아서 BitLocker로 잠그는 것이 좋습니다. 노트북을 분실해도 암호를 모르면 파일에 접근할 수 없으니까요. BitLocker로 ...

윈도우 10 / 네트워크 / 고정 IP 설정하는 방법

윈도우 10 / 네트워크 / 고정 IP 설정하는 방법

인터넷은 보통 유동 IP로 연결됩니다. 연결될 때마다 새로운 IP를 받는 것이죠. 그렇다고 부팅할 때마다 바뀌는 것은 아닙니다. 일정 시간 기다려주므로, 오랜 시간 껐다 켜는 게 아니라면 IP가 유지됩니다. 하지만, 어떠한 상황에서도 IP가 유지되는 게 필요할 때가 있습니다. 대표적인 경우는 외부에서 접속하고 싶을 때죠. IP가 정확하지 않으면 접속을 할 수 없습니다. 그런 ...

윈도우 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 / PowerShell / Get-AppxPackage, Remove-AppxPackage

확장자가 .msix, .assx인 앱 패키지의 정보를 가져오는 명령어는 Get-AppxPackage, 제거하는 명령어는 Remove-AppxPackage이다. Get-AppxPackage 앱 패키지 정보들을 가져온다. Get-AppxPackage 이름이 Microsoft.ScreenSketch인 앱 패키지 정보를 가져온다. Get-AppxPackage -Name Microsoft.ScreenSketch Name : Microsoft.ScreenSketch Publisher : CN=Microsoft Corporation, O=Microsoft Corporation, ...

윈도우 10 / 다중 모니터 사용시 메인 모니터에만 작업 표시줄 나오게 설정하는 방법

윈도우 10 / 다중 모니터 사용시 메인 모니터에만 작업 표시줄 나오게 설정하는 방법

컴퓨터 작업을 할 때 모니터를 여러 대 사용하는 게 유행입니다. 특히 노트북을 사용할 때는 화면이 작아서 큰 모니터를 연결해서 사용하는 경우가 많습니다. 윈도우의 디스플레이 확장 기능으로 여러 모니터를 사용하면, 각 화면마다 작업 표시줄이 나옵니다. 어떻게 보면 편한 기능이고, 어떻게 보면 불편한 기능입니다. 만약 모든 모니터에 작업 표시줄이 나오는 게 불편하다면, 설정에서 ...