윈도우 / 명령어 / 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에는 터미널이라는 프로그램이 기본 설치되어 있습니다. 마이크로소프트의 오픈 소스 프로젝트로 개발되는 것으로, GitHub 주소는 다음과 같습니다. https://github.com/microsoft/terminal 소개는 다음과 같습니다. Windows Terminal is a new, modern, feature-rich, productive terminal application for command-line users. It includes many of the features most frequently requested by the Windows command-line community including support for tabs, rich ...

윈도우 11 / 휴지통 / 크기 지정하기, 사용하지 않기

윈도우 11 / 휴지통 / 크기 지정하기, 사용하지 않기

윈도우에서 파일을 삭제하면 휴지통으로 이동한다. 표현은 삭제지만 다른 폴더로 이동하는 것과 다를 바 없다. 휴지통에 있는 파일은 온전한 것이므로 복원이 가능하고, 휴지통에서 삭제해야 완전히 삭제된다. 휴지통 비우기를 해도 해당 파일이 존재했던 부분에 다른 파일을 쓰지 않았다면, recuva 같은 삭제 파일 복구 프로그램으로 복구를 할 수 있다. 휴지통은 최대 한도가 있는데, 그 한도는 ...

윈도우 / 로그온 시도나 암호 변경 시도를 너무 많이 했기 때문에 보안을 위해 사용자 계정이 잠겼습니다

윈도우 / 로그온 시도나 암호 변경 시도를 너무 많이 했기 때문에 보안을 위해 사용자 계정이 잠겼습니다

집에서 사무실 컴퓨터에 원격 데스크톱으로 접속하여 작업할 때가 있다. 오랫동안 잘 사용했는데, 최근 들어 아래와 같은 메시지가 나오면서 연결이 되지 않을 때가 있다. 로그온 시도나 암호 변경 시도를 너무 많이 했기 때문에 보안을 위해 사용자 계정이 잠겼습니다. 잠시 기다렸다가 다시 시도하거나 시스템 관리자나 기술 지원 서비스에 문의하십시오. 로그온 실패가 많아서 계정을 잠가버린 ...

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

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

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

윈도우 10 / 프로그램, 앱 제거하는 방법

윈도우 10 / 프로그램, 앱 제거하는 방법

컴퓨터를 사용하다보면 여러 가지 프로그램을 설치하게 됩니다. 계속 사용해야 하는 것도 있지만, 일시적으로만 필요한 것도 있습니다. 사용하지 않는 프로그램을 그대로 두면 컴퓨터 속도가 느려지기도 하고, 시작 화면이 지저분해집니다. 어떻게 프로그램을 제거할 수 있는지 알아보겠습니다. 방법 1 시작 화면에서 제거하는 방법입니다. 제거하려는 프로그램에 마우스를 올리고 우클릭을 합니다. 팝업 메뉴 중 를 클릭하면 프로그램이 제거됩니다. 방법 2 [WIN ...

윈도우 11 / 원드라이브 삭제하는 방법

윈도우 11 / 원드라이브 삭제하는 방법

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

윈도우 10 / 네트워크 드라이브 연결하는 방법, 연결 끊는 방법

윈도우 10 / 네트워크 드라이브 연결하는 방법, 연결 끊는 방법

공유된 폴더를 네트워크 드라이브로 연결하는 방법입니다. 윈도우 10에서 공유 폴더를 만드는 방법은 여기, 윈도우 서버에서 공유 폴더를 만드는 방법은 여기에 있습니다. 네트워크 드라이브 연결 공유된 폴더를 선택한 후 을 클릭합니다. 드라이브를 적절히 선택한 후 을 클릭하면... 드라이브가 만들어지고, 마치 자신의 PC에 있는 하드디스크처럼 사용할 수 있습니다. 네트워크 드라이브 연결 끊기 네트워크 드라이브를 선택하고 마우스 우클릭합니다. 를 ...

윈도우 10 / 잠금화면 배경 사진 변경하는 방법

윈도우 10 / 잠금화면 배경 사진 변경하는 방법

윈도우 10으로 부팅하면 사용자를 정하고 로그인하는 화면이 나오는데, 그걸 잠금화면이라고 합니다. 별다른 설정을 하지 않아도 잠금화면에는 멋진 사진이 나오고, 일정 주기로 계속 바뀝니다. 잠금화면 사진은 Windows 설정에 바꿉니다. 단축키 을 클릭합니다. 더 간단한 방법은 바탕화면에서 우클릭한 다음 을 클릭하는 것입니다. 왼쪽 메뉴 중에서 을 ...

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

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

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

윈도우 11 / PowerShell / PowerShell 7 설치하는 방법

윈도우 11 / PowerShell / PowerShell 7 설치하는 방법

윈도우 11에 Windows 터미널이라는 것이 생겼다. 시작 메뉴에도 있고, 파일 탐색기에서 마우스 우클릭해도 있다. 내가 원하는 위치에서 터미널을 쉽게 열 수 있다는 게 장점. 기본 터미널로 PowerShell이 설정되어 있는데, 언제부턴가 최신 PowerShell을 설치해보라는 메시지가 뜬다. 특별히 불편한 점은 없지만, 그 메시지가 보기 싫어서 업그레이드를 해보았다.(정확히는 업그레이드가 아니라 새로운 PowerShell을 설치하는 것.) URL을 ...