
많은 시스템 관리자와 IT 전문가는 특히 Windows 환경 내에서 명령줄에서 직접 시스템 작업을 수행하는 효율적인 방법을 끊임없이 찾고 있습니다. Windows 서비스는 시스템과 애플리케이션 모두에 대한 원활한 운영을 유지하는 데 중요한 역할을 합니다.서비스 관리자와 같은 그래픽 인터페이스에 의존하는 대신 명령줄을 통해 Windows 서비스를 관리하면 더 큰 유연성과 속도를 제공합니다.이 가이드에서는 터미널에서 직접 Windows 서비스를 관리하는 다양한 명령줄 도구를 살펴봅니다.
1. Windows 서비스 관리sc.exe
명령 sc.exe
줄 유틸리티는 사용자가 Windows 서비스를 관리할 수 있도록 하는 귀중한 도구입니다.이 유틸리티를 사용하면 그래픽 서비스 관리자를 활용할 필요 없이 명령줄을 통해 서비스를 원활하게 구성, 모니터링 및 제어할 수 있습니다.
서비스 상태 확인 사용sc
특정 서비스의 상태를 확인하려면 sc query serviceName
명령을 활용하세요.예를 들어:
sc query MySQL80
이 명령은 MySQL80 서비스 상태에 대한 세부 정보를 보여줍니다.

표시된 대로 이는 MySQL이 현재 해당 머신에서 비활성화되어 있음을 나타냅니다.
서비스를 시작하세요sc
특정 서비스를 활성화하려면 다음 명령을 사용하세요.
sc start MySQL80
서비스를 시작한 후 다음을 통해 서비스 상태를 확인할 수 있습니다.
sc query MySQL80

서비스 중지 사용sc
시스템 리소스를 회수하기 위해 서비스를 중지해야 하는 경우 다음을 실행하세요.
sc stop MySQL80
다음을 실행하여 이 작업을 확인하세요.
sc query MySQL80

새로운 서비스를 생성하세요sc
새로운 서비스를 만들려면 구문은 다음과 같습니다.
sc create mte binPath="C:\Users\HP\Desktop\Examples\Service.exe"start= auto

기존 서비스를 업데이트하세요sc
다음을 사용하여 기존 서비스의 구성을 수정합니다.
sc config serviceName start= demand

서비스 삭제sc
서비스를 완전히 제거하려면 다음을 실행하세요.
sc delete serviceName

net
2.명령을 사용하여 Windows 서비스 관리
이 net
명령을 사용하면 사용자는 그래픽 인터페이스가 필요 없이 Windows 서비스를 관리할 수 있습니다.서비스를 효율적으로 시작, 중지, 일시 중지, 재개 및 쿼리할 수 있습니다.
net
명령을 사용하여 서비스 시작 및 중지
다음 명령을 실행하여 서비스를 관리하세요.
net start serviceName
net stop serviceName

서비스 일시 중지 및 재개
이를 허용하는 서비스의 경우 다음을 사용하여 작업을 일시 중지하고 다시 시작할 수 있습니다.
net pause ServiceName
net continue ServiceName

서비스 상태 확인net
서비스 상태를 직접 보고하지는 않지만 net
다음을 사용할 수 있습니다.
net start | findstr "ServiceName"

이 명령은 실행 중인 경우 서비스 이름을 반환합니다.출력이 없으면 서비스가 활성화되어 있지 않다는 것을 의미합니다.
원격 서비스 관리
다음을 사용하여 원격 시스템의 서비스를 관리합니다.
net start ServiceName /S RemotePC
net stop ServiceName /S RemotePC
3. PowerShell Cmdlet을 사용하여 Windows 서비스 관리
PowerShell은 서비스 관리를 위해 설계된 cmdlet으로 더 높은 수준의 제어를 도입합니다.Get-Service
, Start-Service
, Stop-Service
, 및 Restart-Service
와 같은 cmdlet을 활용하여 사용자는 더욱 뛰어난 기능으로 작업을 실행할 수 있습니다.
Cmdlet을 사용하여 서비스 상태 확인
서비스 상태를 검사하려면 다음을 사용하세요.
Get-Service -Name MySQL80

PowerShell을 사용하여 서비스 쿼리
cmdlet을 사용하여 상태를 기준으로 서비스를 필터링합니다.예를 들어, 실행 중인 서비스를 나열하려면 다음과 같습니다.
Get-Service | Where-Object { $_. Status -eq 'Running' }

PowerShell Cmdlet을 사용하여 서비스 관리
다음을 사용하여 서비스를 시작하고 중지합니다.
Start-Service -Name MySQL80
Stop-Service -Name MySQL80
상태를 다시 확인하세요.
Get-Service -Name MySQL80

PowerShell Cmdlet을 사용하여 서비스 시작 유형 변경
서비스의 시작 유형을 수정하려면 다음을 사용하여 자동, 수동 또는 비활성화로 설정할 수 있습니다.
Set-Service -Name ServiceName -StartupType Automatic
Set-Service -Name ServiceName -StartupType Manual
Set-Service -Name ServiceName -StartupType Disabled
이를 통해 귀사의 운영 선호도에 맞춰 원활한 관리가 가능합니다.
PowerShell을 사용한 원격 관리
원격 시스템의 서비스를 확인하거나 제어하려면 다음을 활용하세요.
Get-Service -Name ServiceName -ComputerName RemotePC
이 기능은 특히 다중 컴퓨터 환경에서 서비스를 관리하는 데 유용합니다.
4.서비스 관리 작업 자동화
PowerShell의 스크립팅 기능은 관리자가 서비스 관리를 자동화하여 수동 개입을 최소화할 수 있도록 지원합니다.예를 들어, 서비스의 상태를 지속적으로 모니터링하고 서비스가 중단되면 다시 시작하는 스크립트를 만들 수 있습니다.
자동화 스크립트의 예
MySQL80 서비스가 작동하는지 확인하고 작동하지 않으면 다시 시작하는 스크립트를 고려해 보겠습니다.
$serviceName = "MySQL80" $service = Get-Service -Name $serviceName if ($service. Status -ne "Running") { Restart-Service -Name $serviceName -Force Write-Output "$serviceName was stopped and has been restarted." } else { Write-Output "$serviceName is already running." }
Windows에서는 스크립트 실행이 기본적으로 제한됩니다.따라서 실행을 활성화하려면 다음을 실행합니다.
Set-ExecutionPolicy RemoteSigned

생성된 스크립트를 실행하려면 해당 위치로 이동하여 다음을 실행하세요.
.\serviceScript.ps1

sc.exe
, , PowerShell과 같은 명령줄 도구의 힘을 활용하면 net
그래픽 서비스 관리자를 사용하지 않고도 Windows 서비스에 대한 완전한 권한을 얻을 수 있습니다.각 방법은 서비스를 시작, 중지 및 구성하는 효과적인 수단을 제공합니다.또한 PowerShell의 스크립팅 기능은 광범위한 자동화를 용이하게 하여 중요한 서비스가 계속 작동하고 시스템 성능과 안정성을 향상시킵니다.
자주 묻는 질문
1. Windows 서비스란 무엇인가요?
Windows 서비스는 사용자 세션과 독립적으로 실행되는 백그라운드 프로세스로, 운영 체제와 애플리케이션에 필수적인 기능을 제공합니다.
2.내 Windows 컴퓨터에서 어떤 서비스가 실행 중인지 어떻게 알 수 있나요?
PowerShell에서 sc query
또는 와 같은 명령을 사용하면 현재 실행 중인 서비스를 알아낼 수 있습니다.Get-Service
3.명령줄을 사용하여 원격으로 서비스를 관리할 수 있나요?
네, 스위치 net
와 함께 명령을 사용 /S
하거나 매개변수를 사용하여 PowerShell cmdlet을 통해 원격 컴퓨터의 서비스를 관리할 수 있습니다 -ComputerName
.
답글 남기기 ▼