SC [Bottom] [Top]
서비스 컨트롤러 및 설치된 서비스와 통신합니다. SC.exe 는 서비스에 대한 컨트롤 정보를 검색하고 설정합니다. SC.exe 를 사용하여 서비스 프로그램을 테스트하고 디버깅할 수 있습니다. 레지스트리에 저장된 서비스 속성은 부팅할 때 서비스 응용 프로그램을 시작하는 방법 및 백그라운드 프로세스로 실행하는 방법을 제어하도록 설정할 수 있습니다. SC.exe 매개 변수는 서비스를 중단하거나 시작할 뿐 아니라 특정 서비스를 구성하고 서비스의 현재 상태를 검색할 수 있습니다. 다양한 SC.exe 명령을 불러오는 배치 파일을 만들어 서비스 시퀀스 시작 또는 종료를 자동화할 수 있습니다. SC.exe 는 제어판에 있는 관리 도구 항목의 서비스와 비슷한 기능을 제공합니다.
명령 구문에 대해 보려면 다음의 sc 명령 중 하나를 클릭합니다.
sc boot [Bottom] [Top]
마지막 부팅을 last-known-good 구성으로 저장해야 하는지 나타냅니다.
- 구문
sc [ServerName] boot [{bad|OK}] - 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC(Universal Naming Convention) 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- [{bad|OK}]
- 마지막 부팅이 잘못되었는지 또는 last-known-good 구성으로 저장되었는지 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
예제
다음 예제는 sc boot 명령을 사용하는 방법을 보여줍니다.sc boot ok sc boot bad
sc config [Bottom] [Top]
레지스트리나 서비스 컨트롤 관리자의 데이터베이스에서 서비스의 항목 값을 수정합니다.
- 구문
sc [ServerName] config [ServiceName] [type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}] [start= {boot|system|auto|demand|disabled}] [error= {normal|severe|critical|ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag= {yes|no}] [depend= dependencies] [obj= {AccountName|ObjectName}] [displayname= DisplayName] [password= Password] - 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC(Universal Naming Convention) 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}
- 서비스 종류를 지정합니다.
값
설명
own
서비스는 자체 프로세스에서 실행합니다. 다른 서비스와 실행 파일을 공유하지 않습니다. 기본값입니다.
공유
서비스를 공유 프로세스로 실행합니다. 다른 서비스와 실행 파일을 공유합니다.
커널
드라이버입니다.
filesys
파일 시스템 드라이버입니다.
rec
컴퓨터에서 사용되는 파일 시스템을 확인하는 파일 시스템 인식 드라이버입니다.
adapt
키보드, 마우스, 디스크 드라이브와 같은 하드웨어 항목을 확인하는 어댑터 드라이버입니다.
interact
사용자가 정보를 입력하면 서비스는 데스크톱과 상호 작용할 수 있습니다. 대화형 서비스는 LocalSystem 계정으로 실행해야 합니다. 이 서비스 종류는 type= own 또는 type= shared와 연계하여 사용해야 합니다(예: type= interact type= own). type= interact을 단독으로 사용하면 유효하지 않은 매개 변수 오류가 만들어집니다.
- 서비스 종류를 지정합니다.
- start= {boot|system|auto|demand|disabled}
- 서비스의 시작 종류를 지정합니다.
값
설명
boot
부팅 로더에 의해 로드되는 장치 드라이버입니다.
system
커널을 초기화하는 동안 시작하는 장치 드라이버입니다.
auto
컴퓨터를 자동으로 다시 시작하거나 로그온한 사람이 없어도 자동으로 컴퓨터를 실행하는 서비스입니다.
demand
수동으로 시작해야 하는 서비스입니다. start=를 지정하지 않는 경우 이것이 기본값입니다.
disabled
시작할 수 없는 서비스입니다. 사용할 수 없는 서비스를 시작하려면 시작 종류를 다른 값으로 변경합니다.
- 서비스의 시작 종류를 지정합니다.
- error= {normal|severe|critical|ignore}
- 부팅하는 동안 서비스가 실패하는 경우 오류의 심각도를 지정합니다.
값
설명
normal
오류가 기록되고 서비스 시작을 실패한 사용자 정보에 대한 메시지 상자가 표시됩니다. 시작을 계속합니다. 기본값입니다.
severe
가능한 경우에는 오류가 기록됩니다. last-known-good 구성으로 컴퓨터를 다시 시작하도록 시도합니다. 이렇게 설정하면 컴퓨터를 다시 시작할 수 있지만 서비스는 여전히 실행할 수 없습니다.
critical
가능한 경우에는 오류가 기록됩니다. last-known-good 구성으로 컴퓨터를 다시 시작하도록 시도합니다. last-known-good 구성을 실패하면 시작도 실패하고 중단 오류가 나타나면서 부팅 프로세스가 중단됩니다.
ignore
오류를 기록하고 시작을 계속합니다. 이벤트 로그에 오류를 기록할 뿐 사용자에게 알리지 않습니다.
- 부팅하는 동안 서비스가 실패하는 경우 오류의 심각도를 지정합니다.
- binpath= BinaryPathName
- 서비스 이진 파일의 경로를 지정합니다.
- group= LoadOrderGroup
이 서비스가 소속된 그룹의 이름을 지정합니다. 그룹 목록이 HKLM\System\CurrentControlSet\Control\ServiceGroupOrder 하위 키의 레지스트리에 저장됩니다. 기본값은 null입니다.
- tag= {yes|no}
CreateService 호출에서 TagID를 가져올 것인지 여부를 지정합니다. 태그는 부팅 시작 및 시스템 시작 드라이버에만 사용됩니다.
- depend= dependencies
- 이 서비스 전에 시작해야 하는 서비스 또는 그룹의 이름을 지정합니다. 이름은 슬래시(/)로 구분합니다.
- obj= {AccountName|ObjectName}
서비스를 실행할 계정의 이름을 지정하거나 드라이버를 실행할 Windows 드라이버 개체의 이름을 지정합니다. 기본값은 LocalSystem입니다.
- displayname= DisplayName
- 사용자에게 서비스를 확인시키기 위해 사용자 인터페이스 프로그램에서 사용될 이름을 친근하고 의미 있는 이름으로 지정합니다. 예를 들어, 한 서비스의 하위 키 이름이 wuauserv인 경우 사용자에게 불편을 주므로 표시 이름을 자동으로 업데이트합니다.
- password= Password
암호를 지정합니다. LocalSystem 계정 이외의 계정을 사용하는 경우에 필요합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- 매개 변수와 값 사이에 공백이 없으면(예: type=own이 아니고 type= own인 경우) 작동이 실패합니다.
예제
다음 예제는 sc config 명령을 사용하는 방법을 보여줍니다.sc config NewService binpath= "ntsd -d c:\windows\system32\NewServ.exe"
sc continue [Bottom] [Top]
일시 중지된 서비를 다시 시작하기 위해 CONTINUE 컨트롤 요청을 서비스에 보냅니다.
- 구문
sc [ServerName] continue [ServiceName]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- continue를 사용하여 일시 중지된 서비스를 다시 시작합니다.
예제
다음 예제는 sc continue 명령을 사용하는 방법을 보여줍니다.sc continue tapisrv
sc control [Bottom] [Top]
CONTROL B를 서비스에 보냅니다.
- 구문
sc [ServerName] control [ServiceName] [{paramchange|netbindadd|netbindremove|netbindenable|netbinddisable|UserDefinedControlB}] - 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- {paramchange|netbindadd|netbindremove|netbindenable|netbinddisable|UserDefinedControlB}
- 서비스를 보낼 컨트롤을 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
sc create [Bottom] [Top]
레지스트리나 서비스 컨트롤 관리자의 데이터베이스에서 서비스의 하위 키와 항목 값을 만듭니다.
- 구문
sc [ServerName] create [ServiceName] [type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}] [start= {boot|system|auto|demand|disabled}] [error= {normal|severe|critical|ignore}] [binpath= BinaryPathName] [group= LoadOrderGroup] [tag= {yes|no}] [depend= dependencies] [obj= {AccountName|ObjectName}] [displayname= DisplayName] [password= Password] - 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- type= {own|share|kernel|filesys|rec|adapt|interact type= {own|share}}
- 서비스 종류를 지정합니다. 기본값은 type= own입니다.
값
설명
own
서비스는 자체 프로세스에서 실행합니다. 다른 서비스와 실행 파일을 공유하지 않습니다. 기본값입니다.
share
서비스를 공유 프로세스로 실행합니다. 다른 서비스와 실행 파일을 공유합니다.
kernel
드라이버입니다.
filesys
파일 시스템 드라이버입니다.
rec
컴퓨터에서 사용되는 파일 시스템을 확인하는 파일 시스템 인식 드라이버입니다.
interact
사용자가 정보를 입력하면 서비스는 데스크톱과 상호 작용할 수 있습니다. 대화형 서비스는 LocalSystem 계정으로 실행해야 합니다. 이 서비스 종류는 type= own 또는 type= shared와 연계하여 사용해야 합니다(예: type= interact type= own). type= interact을 단독으로 사용하면 유효하지 않은 매개 변수 오류가 만들어집니다.
- 서비스 종류를 지정합니다. 기본값은 type= own입니다.
- start= {boot|system|auto|demand|disabled}
- 서비스의 시작 종류를 지정합니다. 기본 시작은 start= demand입니다.
값
설명
boot
부팅 로더에 의해 로드되는 장치 드라이버입니다.
system
커널을 초기화하는 동안 시작하는 장치 드라이버입니다.
auto
컴퓨터를 자동으로 다시 시작하거나 로그온한 사람이 없어도 자동으로 컴퓨터를 실행하는 서비스입니다.
demand
수동으로 시작해야 하는 서비스입니다. start=를 지정하지 않는 경우 이것이 기본값입니다.
disabled
시작할 수 없는 서비스입니다. 사용할 수 없는 서비스를 시작하려면 시작 종류를 다른 값으로 변경합니다.
- 서비스의 시작 종류를 지정합니다. 기본 시작은 start= demand입니다.
- error= {normal|severe|critical|ignore}
- 부팅하는 동안 서비스가 실패하는 경우 오류의 심각도를 지정합니다. 기본값은 error= normal입니다.
값
설명
normal
오류가 기록되고 서비스 시작을 실패한 사용자 정보에 대한 메시지 상자가 표시됩니다. 시작을 계속합니다. 기본값입니다.
severe
가능한 경우에는 오류가 기록됩니다. last-known-good 구성으로 컴퓨터를 다시 시작하도록 시도합니다. 이렇게 설정하면 컴퓨터를 다시 시작할 수 있지만 서비스는 여전히 실행할 수 없습니다.
critical
가능한 경우에는 오류가 기록됩니다. last-known-good 구성으로 컴퓨터를 다시 시작하도록 시도합니다. last-known-good 구성을 실패하면 시작도 실패하고 중단 오류가 나타나면서 부팅 프로세스가 중단됩니다.
ignore
오류를 기록하고 시작을 계속합니다. 이벤트 로그에 오류를 기록할 뿐 사용자에게 알리지 않습니다.
- 부팅하는 동안 서비스가 실패하는 경우 오류의 심각도를 지정합니다. 기본값은 error= normal입니다.
- binpath= BinaryPathName
- 서비스 이진 파일의 경로를 지정합니다. binpath=의 경우 기본값이 없고 이 문자열을 제공해야 합니다.
- group= LoadOrderGroup
이 서비스가 소속된 그룹의 이름을 지정합니다. 그룹 목록이 HKLM\System\CurrentControlSet\Control\ServiceGroupOrder 하위 키의 레지스트리에 저장됩니다. 기본값은 null입니다.
- tag= {yes|no}
CreateService 호출에서 TagID를 가져올 것인지 여부를 지정합니다. 태그는 부팅 시작 및 시스템 시작 드라이버에만 사용됩니다.
- depend= dependencies
- 이 서비스 전에 시작해야 하는 서비스 또는 그룹의 이름을 지정합니다. 이름은 슬래시(/)로 구분합니다.
- obj= {AccountName|ObjectName}
- 서비스를 실행할 계정의 이름을 지정하거나 드라이버를 실행할 Windows 드라이버 개체의 이름을 지정합니다.
- displayname= DisplayName
- 사용자에게 서비스를 확인시키기 위해 사용자 인터페이스 프로그램에서 사용될 이름을 친근한 이름으로 지정합니다.
- password= Password
암호를 지정합니다. LocalSystem 계정 이외의 계정을 사용하는 경우에 필요합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- 매개 변수와 값 사이에 공백이 없으면(예: type=own이 아니고 type= own인 경우) 작동이 실패합니다.
예제
다음 예제는 sc create 명령을 사용하는 방법을 보여줍니다.sc \\myserver create NewService binpath= c:\windows\system32\NewServ.exe sc create NewService binpath= c:\windows\system32\NewServ.exe type= share start= auto depend= "+TDI Netbios"
sc delete [Bottom] [Top]
레지스트리에서 서비스 하위 키를 삭제합니다. 서비스를 실행 중이거나 다른 프로세스에 서비스에 대해 열린 핸들이 있으면 서비스를 삭제하도록 표시됩니다.
- 구문
sc [ServerName] delete [ServiceName]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- 프로그램 추가/제거를 사용하여 DHCP, DNS 또는 기타 기본 제공 운영 체제 서비스를 삭제합니다. 프로그램 추가/제거는 서비스에 대한 레지스트리 하위 키만 삭제하지 않고 서비스를 설치 제거하고 서비스에 대한 모든 바로 가기를 삭제합니다.
예제
다음 예제는 sc delete 명령을 사용하는 방법을 보여줍니다.sc delete newserv
sc description [Bottom] [Top]
서비스에 대한 설명 문자열을 설정합니다.
- 구문
sc [ServerName] description [ServiceName] [Description]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- 설명
- 지정된 서비스에 대한 설명을 지정합니다. 문자열을 지정하지 않으면 서비스에 대한 설명은 변경되지 않습니다. 서비스 설명에 포함할 수 있는 문자 수는 제한이 없습니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
예제
다음 예제는 sc description 명령을 사용하는 방법을 보여줍니다.sc description newserv "Runs quality of service control."
sc enumdepend [Bottom] [Top]
지정된 서비스를 실행하지 않으면 실행할 수 없는 서비스를 표시합니다.
- 구문
sc [ServerName] enumdepend [ServiceName] [BufferSize]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- BufferSize
- 열거 버퍼의 크기를 바이트로 지정합니다. 기본 크기는 1024바이트입니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- 버퍼가 충분하지 않으면 enumdepend는 종속성을 부분적으로만 출력하고 모든 종속성을 출력하는 데 필요한 추가 버퍼 크기를 지정합니다. 출력이 끊기면 작업을 반환하고 버퍼 크기를 더 크게 지정합니다.
예제
다음 예제는 sc enumdepend 명령을 사용하는 방법을 보여줍니다.sc enumdepend rpcss 5690 sc enumdepend tapisrv
sc failure [Bottom] [Top]
서비스가 실패한 경우의 동작을 지정합니다.
- 구문
sc [ServerName] failure [ServiceName] [reset= ErrorFreePeriod] [reboot= BroadcastMessage] [command= CommandLine] [actions= FailureActionsAndDelayTime]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- reset= ErrorFreePeriod
- 실패가 없는 기간을 초로 지정합니다. 이 기간 이후에 실패 회수를 0으로 다시 설정하게 됩니다. 이 매개 변수는 actions= 매개 변수와 연계하여 사용해야 합니다.
- reboot= BroadcastMessage
- 서비스의 실패를 알리는 메시지를 지정합니다.
- command= CommandLine
- 서비스가 실패한 경우에 실행할 명령줄을 지정합니다. 실패한 경우에 배치 또는 VBS 파일을 실행하는 방법에 대한 자세한 내용은 설명을 참조하십시오.
- actions= FailureActionsAndDelayTime
- 실패 동작과 지연 시간을 슬래시(/)로 구분하여 밀리초로 지정합니다. 다음 동작은 유효합니다. run, restart, and reboot. 이 매개 변수는 reset= 매개 변수와 함께 사용해야 합니다. actions= ""을 사용하면 실패한 경우에 아무런 동작을 취하지 않습니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- 모든 서비스에서 실패 옵션을 변경할 수는 없습니다. 일부는 서비스 집합의 일부로 실행됩니다.
실패한 경우에 배치 파일을 실행하려면 배치 파일의 정식 이름이 Drive:\FileName.bat인 command= 매개 변수에 cmd.exe Drive:\FileName.bat을 지정합니다.
- 실패한 경우에 VBS 파일을 실행하려면 스크립트 파일의 정식 이름이 drive:\myscript.vbs인 command= 매개 변수에 cscript drive:\myscript.vbs를 지정합니다.
- 세 가지 다른 동작을 actions= 매개 변수에 지정하여 서비스가 실패한 경우에, 첫 번째, 두 번째, 세 번째까지 사용할 수 있습니다.
- 매개 변수와 값 사이에 공백이 없으면(예: type=own이 아니고 type= own인 경우) 작동이 실패합니다.
예제
다음 예제는 sc failure 명령을 사용하는 방법을 보여줍니다.sc failure msftpsvc reset= 30 actions= restart/5000 sc failure dfs reset= 60 command= c:\windows\services\restart_dfs.exe actions= run/5000 sc failure dfs reset= 60 actions= reboot/30000 sc failure dfs reset= 60 reboot= "The Distributed File System service has failed. Because of this, the computer will reboot in 30 seconds." actions= reboot/30000 sc failure myservice reset= 3600 reboot= "MyService crashed -- rebooting machine" command= "%windir%\MyServiceRecovery.exe" actions= restart/5000/run/10000/reboot/60000
sc getdisplayname [Bottom] [Top]
특별 서비스와 관련된 표시 이름을 가져옵니다.
- 구문
sc [ServerName] getdisplayname [ServiceName] [BufferSize]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- BufferSize
- 버퍼의 크기를 바이트로 지정합니다. 기본 크기는 1024바이트입니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
예제
다음 예제는 sc getdisplayname 명령을 사용하는 방법을 보여줍니다.sc getdisplayname clipsrv sc getdisplayname tapisrv sc getdisplayname sharedaccess
sc getkeyname [Bottom] [Top]
표시 이름을 입력으로 사용하여 특별 서비스와 관련된 키 이름을 가져옵니다.
- 구문
sc [ServerName] getkeyname [ServiceDisplayName] [BufferSize]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceDisplayName
- 서비스의 이름을 지정합니다.
- BufferSize
- 버퍼의 크기를 바이트로 지정합니다. 기본 크기는 1024바이트입니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
ServiceDisplayName에 공백이 있으면 텍스트에 따옴표를 사용합니다(예: "Service Display Name").
예제
다음 예제는 sc getkeyname 명령을 사용하는 방법을 보여줍니다.sc getkeyname "remote procedure call (rpc)" sc getkeyname "internet connection sharing" sc getkeyname clipbook
sc interrogate [Bottom] [Top]
서비스에 INTERROGATE 컨트롤 요청을 보냅니다.
- 구문
sc [ServerName] interrogate [ServiceName]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- INTERROGATE을 서비스에 보내면 서비스가 서비스 컨트롤 관리자를 사용하여 상태를 업데이트하도록 합니다.
예제
다음 예제는 sc interrogate 명령을 사용하는 방법을 보여줍니다.
sc interrogate sharedaccess sc interrogate rpcss
sc lock [Bottom] [Top]
서비스 컨트롤 관리자의 데이터베이스를 잠급니다.
- 구문
sc [ServerName] lock
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- 서비스 컨트롤 관리자의 데이터베이스를 잠그면 서비스를 시작할 수 없습니다. 서비스가 중단된 후에 다시 시작하지 않는지 확인하려면 이 매개 변수를 사용합니다. 이렇게 하면 중단 없이 동작(예: 서비스 삭제)을 실행할 수 있습니다.
- lock을 사용하여 서비스 컨트롤 관리자의 데이터베이스를 잠근 다음 u를 입력하여 데이터베이스의 잠금을 해제하도록 합니다. 잠근 데이터베이스에서 프로세스를 없앨 수도 있습니다.
예제
다음 예제는 sc lock 명령을 사용하는 방법을 보여줍니다.sc lock
sc pause [Bottom] [Top]
서비스에 PAUSE 컨트롤 요청을 보냅니다.
- 구문
sc [ServerName] pause [ServiceName]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- pause를 사용하여 종료하기 전에 서비스를 일시 중지합니다.
- 모든 서비스를 일시 중지할 수 있는 것은 아닙니다.
- 일시 중지된 경우에 모든 서비스가 같은 동작을 수행하지는 않습니다. 일부는 기존 클라이언트에는 서비스를 수행하지만 새 클라이언트는 수락하지 않습니다. 일부는 기존 클라이언트에 대한 서비스 수행을 멈추고 새 클라이언트도 수락하지 않습니다.
예제
다음 예제는 sc pause 명령을 사용하는 방법을 보여줍니다.sc pause tapisrv
sc qc [Bottom] [Top]
서비스에 대한 구성 정보를 쿼리합니다.
- 구문
sc [ServerName] qc [ServiceName] [BufferSize]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- BufferSize
- 버퍼의 크기를 바이트로 지정합니다. 기본 크기는 1024바이트입니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- qc는 서비스에 대한 다음의 정보를 표시합니다. SERVICE_NAME (service's registry subkey name), TYPE, ERROR_CONTROL, BINARY_PATH_NAME, LOAD_ORDER_GROUP, TAG, DISPLAY_NAME, DEPENDENCIES, and SERVICE_START_NAME.
- 관리자는 SC를 사용하여 모든 서비스의 바이너리 이름을 확인하고, 명령줄에서 다음을 입력하여 다른 서비스와 프로세스를 공유하는지 알아볼 수 있습니다.
sc qc ServiceName
SC는 MMC(Microsoft Management Console) 서비스 노드의 서비스를 시스템 모니터의 프로세스와 일치하도록 합니다. 이진 이름이 Services.exe이면 서비스가 서비스 컨트롤러 프로세스를 공유합니다.
Services.exe가 모든 서비스를 시작합니다. 시스템 리소스를 보존하려면 Windows용으로 개발된 Win32 서비스 일부가 Services.exe 프로세스를 공유하도록 기록됩니다. 이 서비스는 시스템 모니터나 작업 관리자에 별도의 프로세스로 표시되지 않습니다. 여러 운영 서비스를 공유하는 서비스 호스트 프로세스인 Svchost.exe도 마찬가지입니다.
공급 업체 Win32 서비스가 공유 프로세스로 구성될 수 있으므로 모든 Win32 서비스에 프로세스가 있지 않을 수도 있습니다. SC는 이 서비스에 대한 구성 정보를 얻는 데 사용됩니다. 서비스가 다른 서비스와 프로세스를 공유하지 않는 경우, 서비스를 실행 중이면 시스템 모니터에 서비스에 대한 프로세스가 있습니다. SC는 Windows에 포함된 Services.exe보다 서비스에 대해 자세하고 정확한 정보를 제공하기 때문에 서비스의 개발자에게 유용할 수 있습니다. Services.exe는 서비스가 실행 중인지, 중단되었는지, 일시 중지 상태인지 확인할 수 있습니다. 이 도구는 디버그되어 문제 없이 실행되는 응용 프로그램에는 적합하지만 개발 중인 서비스에 대해서는 잘못된 정보를 제공하는 경우가 있습니다. 예를 들어, 시작하는 서비스는 실제로 실행 중이거나 그렇지 않거나 간에 시작되었다고 표시됩니다.
SC는 모든 Windows 서비스 컨트롤 응용 프로그램 인터페이스(API) 기능을 호출합니다. 명령줄에서 매개 변수를 지정하여 이 기능으로 설정합니다.
SC를 사용하면 서비스 상태를 쿼리하고 상태 구조 필드에 저장된 값을 검색할 수 있습니다. Services.exe는 서비스의 총체적인 상태를 제공할 수 없지만 SC는 마지막 검사점 번호와 대기 힌트 뿐 아니라 서비스의 정확한 상태를 보여줍니다. 검사점은 프로그램이 응답을 중단하기 전에 초기화가 얼마나 진행되었는지를 보여주기 때문에 디버깅 도구로 사용할 수 있습니다. 또한, SC는 원격 컴퓨터의 이름을 지정하여 서비스 API 함수를 호출하거나 원격 컴퓨터에서 서비스 상태 구조를 볼 수 있게 합니다.
예제
다음 예제는 sc qc 명령을 사용하는 방법을 보여줍니다.sc qc \\myserver newsrvice sc qc rpcss 248
sc qdescription [Bottom] [Top]
서비스에 대한 설명 문자열을 표시합니다.
- 구문
sc [ServerName] qdescription [ServiceName] [BufferSize]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- BufferSize
- 버퍼의 크기를 바이트로 지정합니다. 기본 크기는 1024바이트입니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
예제
다음 예제는 sc qdescription 명령을 사용하는 방법을 보여줍니다.sc qdescription rpcss sc qdescription rpcss 138
sc qfailure [Bottom] [Top]
지정한 서비스를 실패한 경우 수행할 동작을 표시합니다.
- 구문
sc [ServerName] qfailure [ServiceName] [BufferSize]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- BufferSize
- 버퍼의 크기를 바이트로 지정합니다. 기본 크기는 1024바이트입니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- qfailure는 서비스에 대한 다음의 정보를 표시합니다. SERVICE_NAME(서비스의 레지스트리 하위 키 이름), RESET_PERIOD, REBOOT_MESSAGE, COMMAND_LINE, FAILURE_ACTIONS
예제
다음 예제는 sc qfailure 명령을 사용하는 방법을 보여줍니다.sc qfailure rpcss sc qfailure rpcss 20
sc query [Bottom] [Top]
지정된 서비스, 드라이버, 서비스 종류 및 드라이버 종류에 대한 정보를 가져와 표시합니다.
- 구문
sc [ServerName] query [ServiceName] [type= {driver|service|all}] [type= {own|share|interact|kernel|filesys|rec|adapt}] [state= {active|inactive|all}] [bufsize= BufferSize] [ri= ResumeIndex] [group= GroupName] - 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
getkeyname 작업이 반환한 서비스 이름을 지정합니다. 이 query 매개 변수는 ServerName이 아닌 다른 query 매개 변수와 함께 사용되지 않습니다.
- type= {driver|service|all}
- 열거할 항목을 지정합니다. 기본 종류는 service입니다.
값
설명
driver
드라이버만 열거되도록 지정합니다.
service
서비스만 열거되도록 지정합니다.
all
드라이버 및 서비스가 열거되도록 지정합니다.
- 열거할 항목을 지정합니다. 기본 종류는 service입니다.
- type= {own|share|interact|kernel|filesys|rec|adapt}
- 열거할 서비스의 종류 또는 드라이버의 종류를 지정합니다.
값
설명
own
서비스는 자체 프로세스에서 실행합니다. 다른 서비스와 실행 파일을 공유하지 않습니다. 기본값입니다.
share
서비스를 공유 프로세스로 실행합니다. 다른 서비스와 실행 파일을 공유합니다.
interact
사용자가 정보를 입력하면 서비스는 데스크톱과 상호 작용할 수 있습니다. 대화형 서비스는 LocalSystem 계정으로 실행해야 합니다.
kernel
드라이버입니다.
filesys
파일 시스템 드라이버입니다.
- 열거할 서비스의 종류 또는 드라이버의 종류를 지정합니다.
- state= {active|inactive|all}
- 열거할 서비스의 시작 상태를 지정합니다. 기본 상태는 active입니다.
값
설명
active
모든 활성화된 서비스를 지정합니다.
inactive
일시 중지되거나 중단된 모든 서비스를 지정합니다.
all
모든 서비스를 지정합니다.
- 열거할 서비스의 시작 상태를 지정합니다. 기본 상태는 active입니다.
- bufsize= BufferSize
- 열거 버퍼의 크기를 바이트로 지정합니다. 기본 크기는 1024바이트입니다. 쿼리의 표시 결과가 1024바이트를 초과하면 열거 버퍼의 크기를 증가시킵니다.
- ri= ResumeIndex
- 열거를 시작하거나 다시 시작할 인덱스 번호를 지정합니다. 기본값은 0입니다. 쿼리에서 기본 버퍼가 표시할 수 있는 것보다 많은 정보를 반환하는 경우 이 매개 변수를 bufsize= 매개 변수와 함께 사용합니다.
- group= GroupName
- 열거할 서비스 그룹을 지정합니다. 기본값은 모든 그룹입니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- 매개 변수와 값 사이에 공백이 없으면(예: type=own이 아니고 type= own인 경우) 작동이 실패합니다.
- query는 서비스에 대한 다음의 정보를 표시합니다. SERVICE_NAME(서비스 레지스트리 하위 키 이름), TYPE, STATE(사용할 수 없는 상태와 함께 표시), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT, WAIT_HINT
- type= 매개 변수는 경우에 따라 두 번 사용할 수도 있습니다. type= 매개 변수가 첫 번째 나타나면 서비스를 쿼리할 것인지 드라이버를 쿼리할 것인지 아니면 모두 다 쿼리할 것인지를 지정합니다. type=가 두 번째 나타나면 쿼리의 범위를 더 좁히기 위해 create로부터 종류를 지정합니다.
- query 명령으로부터 결과를 표시할 때 열거 버퍼 크기를 초과하면 다음 메시지와 비슷한 메시지가 표시됩니다.
Enum: more data, need 1822 bytes start resume at index 79
남아있는 query 정보를 표시하려면 query를 다시 실행하고, bufsize=를 바이트 수로 설정하고 ri=를 지정한 인덱스로 설정합니다. 예를 들어, 남아있는 출력은 명령줄에서 다음 내용을 입력하여 표시할 수 있습니다.sc query bufsize= 1822 ri= 79
예제
다음 예제는 sc query 명령을 사용하는 방법을 보여줍니다.sc query sc query messenger sc query type= driver sc query type= service sc query state= all sc query bufsize= 50 sc query ri= 14 sc query type= service type= interact sc query type= driver group= ndis
sc queryex [Bottom] [Top]
지정된 서비스, 드라이버, 서비스 종류 및 드라이버 종류에 대한 확장된 정보를 가져와 표시합니다.
- 구문
sc [ServerName] queryex [type= {driver|service|all}] [type= {own|share|interact|kernel|filesys|rec|adapt}] [state= {active|inactive|all}] [bufsize= BufferSize] [ri= ResumeIndex] [group= GroupName] - 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
getkeyname 작업이 반환한 서비스 이름을 지정합니다. 이 queryex 매개 변수는 ServerName이 아닌 다른 queryex 매개 변수와 함께 사용되지 않습니다.
- type= {driver|service|all}
- 열거할 항목을 지정합니다. 기본 종류는 service입니다.
값
설명
driver
드라이버만 열거되도록 지정합니다.
service
서비스만 열거되도록 지정합니다.
all
드라이버 및 서비스가 열거되도록 지정합니다.
- 열거할 항목을 지정합니다. 기본 종류는 service입니다.
- type= {own|share|interact|kernel|filesys|rec|adapt}
- 열거할 서비스의 종류 또는 드라이버의 종류를 지정합니다.
값
설명
own
서비스는 자체 프로세스에서 실행합니다. 다른 서비스와 실행 파일을 공유하지 않습니다. 기본값입니다.
share
서비스를 공유 프로세스로 실행합니다. 다른 서비스와 실행 파일을 공유합니다.
interact
사용자가 정보를 입력하면 서비스는 데스크톱과 상호 작용할 수 있습니다. 대화형 서비스는 LocalSystem 계정으로 실행해야 합니다.
kernel
드라이버입니다.
filesys
파일 시스템 드라이버입니다.
- 열거할 서비스의 종류 또는 드라이버의 종류를 지정합니다.
- state= {active|inactive|all}
- 열거할 서비스의 시작 상태를 지정합니다. 기본 상태는 active입니다.
값
설명
active
모든 활성화된 서비스를 지정합니다.
inactive
일시 중지되거나 중단된 모든 서비스를 지정합니다.
all
모든 서비스를 지정합니다.
- 열거할 서비스의 시작 상태를 지정합니다. 기본 상태는 active입니다.
- bufsize= BufferSize
- 열거 버퍼의 크기를 바이트로 지정합니다. 기본 크기는 1024바이트입니다.
- ri= ResumeIndex
- 열거를 시작하거나 다시 시작할 인덱스 번호를 지정합니다. 기본 설정은 0입니다.
- group= GroupName
- 열거할 서비스 그룹을 지정합니다. 기본값은 모든 그룹입니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- 매개 변수와 값 사이에 공백이 없으면(예: type=own이 아니고 type= own인 경우) 작동이 실패합니다.
- queryex는 서비스에 대한 다음의 정보를 표시합니다. SERVICE_NAME(서비스 레지스트리 하위 키 이름), TYPE, STATE(사용할 수 없는 상태와 함께 표시), WIN32_EXIT_B, SERVICE_EXIT_B, CHECKPOINT, WAIT_HINT, PID, FLAGS
- type= 매개 변수는 경우에 따라 두 번 사용할 수도 있습니다. type= 매개 변수가 첫 번째 나타나면 서비스를 쿼리할 것인지 드라이버를 쿼리할 것인지 아니면 모두 다 쿼리할 것인지를 지정합니다. type=가 두 번째 나타나면 쿼리의 범위를 더 좁히기 위해 create로부터 종류를 지정합니다.
- queryex 명령으로부터 결과를 표시할 때 열거 버퍼 크기를 초과하면 다음 메시지와 비슷한 메시지가 표시됩니다.
Enum: more data, need 2130 bytes start resume at index 75
남아있는 queryex 정보를 표시하려면 queryex를 다시 실행하고, bufsize=를 바이트 수로 설정하고 ri=를 지정한 인덱스로 설정합니다. 예를 들어, 남아있는 출력은 명령줄에서 다음 내용을 입력하여 표시할 수 있습니다.sc queryex bufsize= 2130 ri= 75
예제
다음 예제는 sc queryex 명령을 사용하는 방법을 보여줍니다.sc queryex messenger sc queryex group= ""
sc querylock [Bottom] [Top]
서비스 컨트롤 관리자의 데이터베이스에 대한 잠금 상태를 쿼리하고 표시합니다.
- 구문
sc [ServerName] querylock
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
sc sdset [Bottom] [Top]
SDDL(Service Descriptor Definition Language)을 사용하여 서비스의 보안 설명자를 설정합니다.
- 구문
sc [ServerName] sdset ServiceName ServiceSecurityDescriptor
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- ServiceSecurityDescriptor
- SDDL에서 서비스 서비스 설명자를 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
SDDL에 대한 자세한 내용은 MSDN Online Library에서 "보안 설명자 정의 언어"를 참조하십시오.(http://www.microsoft.com/)
sc sdshow [Bottom] [Top]
SDDL을 사용하여 서비스의 보안 설명자를 표시합니다.
- 구문
sc [ServerName] sdshow ServiceName
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
SDDL에 대한 자세한 내용은 MSDN Online Library에서 "보안 설명자 정의 언어"를 참조하십시오.(http://www.microsoft.com/)
예제
sc sdshow rpcss
sc start [Bottom] [Top]
서비스 실행을 시작합니다.
- 구문
sc [ServerName] start ServiceName [ServiceArguments]
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- ServiceArguments
- 서비스가 시작되도록 통과시키는 서비스 인수를 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
예제
다음 예제는 sc start 명령을 사용하는 방법을 보여줍니다.sc start tapisrv
sc stop [Bottom] [Top]
서비스에 STOP 컨트롤 요청을 보냅니다.
- 구문
sc [ServerName] stop ServiceName
- 매개 변수
- ServerName
- 서비스가 있는 원격 컴퓨터의 이름을 지정합니다. 이름은 UNC 형식을 사용해야 합니다("\\myserver"). SC.exe를 로컬에서 실행하는 경우 이 매개 변수를 무시합니다.
- ServiceName
- getkeyname 작업이 반환한 서비스 이름을 지정합니다.
- /?
- 명령 프롬프트에서 도움말을 표시합니다.
- 설명
- 모든 서비스를 중지할 수 있는 것은 아닙니다.
예제
다음 예제는 sc stop 명령을 사용하는 방법을 보여줍니다.sc stop tapisrv
- 설명
서식 범례 서식 의미 기울임꼴 사용자가 제공해야 하는 정보 굵게 사용자가 보이는 대로 정확하게 입력해야 하는 요소 줄임표(...) 명령줄에서 여러 번 반복되는 매개 변수 대괄호([]) 옵션 항목 중괄호({}) 또는 세로줄(|)로 구분된 선택 항목 예: {even|odd} 사용자가 굴림 글꼴 코드 또는 프로그램 출력 중 하나만 선택해야 하는 선택 집합
