PowerShell 또는 명령줄을 사용하여 모든 Windows 서비스를 보는 방법



때로는 끝없는 메뉴를 클릭하는 대신 Windows 컴퓨터에서 실제로 어떤 작업이 진행되고 있는지 확인하고 싶을 때가 있습니다.문제 해결을 하거나 시스템 상태를 계속 확인해야 할 때, 백그라운드 서비스를 빠르게 나열하는 방법을 아는 것은 정말 큰 도움이 됩니다.물론 작업 관리자도 괜찮지만, 빠른 세부 정보가 필요하거나 여러 PC에서 검사를 자동화하려면 속도가 느립니다.

명령 프롬프트나 PowerShell 같은 명령줄 도구를 사용하면 작업 속도가 크게 향상됩니다.서비스 상태를 확인하고, 불필요한 기능을 걸러내고, 심지어 서비스를 직접 관리할 수도 있는데, 정말 편리하죠.다만, 처음에는 이러한 명령들이 다소 까다롭거나 혼란스러울 수 있습니다.특히 스크립팅이나 cmdlet을 처음 사용하는 경우 더욱 그렇습니다.하지만 조금만 연습하면 큰 어려움 없이 실행 중인 프로그램과 실행되지 않는 프로그램을 실시간으로 파악할 수 있습니다.

명령 프롬프트에서 Windows 서비스를 나열하는 방법

명령 프롬프트는 PowerShell만큼 멋지고 현대적이지는 않지만, 빠른 정보가 필요할 때는 여전히 유용합니다.이럴 때 유용한 것이 바로 queryex 명령입니다.간단하지만 효과적인 이 명령은 서비스의 활성 여부 등 서비스 세부 정보를 보여줍니다.시작 방법은 다음과 같습니다.

1단계: 관리자 권한으로 명령 프롬프트 실행

시작 메뉴로 가서 cmd를 검색 하고 마우스 오른쪽 버튼을 클릭한 후 관리자 권한으로 실행을 선택하세요.일부 서비스를 쿼리하거나 프로세스를 중지하려면 관리자 권한이 필요한 경우가 많기 때문에 이 과정이 필요합니다.실행되면 명령줄이 실행 준비가 된 것을 확인할 수 있습니다.

2단계: 모든 Windows 서비스 나열

다음 명령을 입력하고 Enter를 누르세요:

sc queryex type=service state=all

내용이 많을 수 있지만, 활성, 비활성, 비활성화 등 모든 서비스를 포괄합니다.출력 내용이 다소 복잡해 보일 수 있지만, SERVICE_NAMESTATE 필드에 집중하면 핵심을 파악할 수 있습니다.너무 많아서 분석하기 어렵다면, 실행 중인 서비스만 필터링하여 목록을 좁혀 보세요.

sc queryex type=service state=running

3단계: 빠른 검색을 위해 서비스 이름만 표시

노이즈를 제거하고 싶다면 출력을 find 로 파이프하세요.

sc queryex type=service state=all | find /i "SERVICE_NAME:"

이렇게 하면 서비스 이름 목록이 더 깔끔하고 읽기 쉬워집니다.문제 해결이나 일괄 처리 스크립팅 시 유용합니다.

4단계: 비활성 서비스 확인

모든 서비스가 항상 실행되는 것은 아니므로 어떤 서비스가 꺼져 있거나 비활성화되어 있는지 확인하려면 다음 명령을 수정하세요.

sc queryex type=service state=inactive

5단계: 특정 서비스 쿼리

특정 서비스를 확인해야 하나요? 서비스 이름만 지정하면 됩니다.예를 들어 Windows Device Install 서비스를 확인하려면 다음과 같이 하세요.

sc query "DeviceInstall"

참고: 서비스 이름에 공백이 있는 경우 따옴표를 사용하세요.따옴표는 특정 서비스의 문제를 진단하거나 관리 작업을 자동화하는 스크립트를 작성하는 데 도움이 됩니다.

PowerShell에서 Windows 서비스 나열

PowerShell은 마법 같은 일이 일어나는 곳입니다.더욱 유연하고 강력하며 자동화에 더욱 적합합니다. Windows 관리 작업을 위한 스위스 군용 칼과 같습니다. PowerShell을 사용하면 모든 서비스 목록을 확인하고, 즉시 필터링하고, 나중에 분석하기 위해 데이터를 내보낼 수도 있습니다.게다가 이러한 명령을 원격으로 실행할 수 있어 네트워크 문제 해결 시간을 크게 절약할 수 있습니다.

시작 메뉴에서 PowerShell을 검색하여 관리자 권한으로 실행하세요.마우스 오른쪽 버튼을 클릭하고 ‘관리자 권한으로 실행’을 선택하세요. PowerShell 이 ​​로드되면 모든 서비스를 나열하는 기본 방법은 다음과 같습니다.

Get-Service를 사용하여 서비스를 나열하는 방법

그냥 실행하세요:

Get-Service

목록이 길기 때문에 다음과 같이 파일에 저장하는 것이 좋습니다.

Get-Service | Out-File "C:\logs\All_Services.txt"

특정 서비스의 상태를 확인하려면 해당 서비스 이름을 추가하기만 하면 됩니다.

Get-Service CryptSvc, COMSysApp

실행 중인 것만 필터링하려면 Where-Object 로 파이프를 사용합니다.

Get-Service | Where-Object {$_. Status -EQ "Running"}

종속성을 찾는 방법

관련 서비스를 포함한 전체 상황을 파악하려면 -RequiredServices 또는 -DependentServices 플래그를 추가하세요.문제 해결이나 대량 작업 스크립팅에 매우 유용합니다.

Get-Service -Name "CryptSvc" -RequiredServices

또는 특정 서비스에 따라 무엇이 달라지는지 확인하려면:

Get-Service -Name "CryptSvc" -DependentServices

원격 및 원격 서비스 점검

다른 컴퓨터에서 서비스를 보고 싶으신가요? -ComputerName 에 PC의 호스트 이름이나 IP 주소를 추가하세요.

Get-Service -Name CryptSvc -ComputerName "Workstation7"

PowerShell을 사용하여 서비스 관리

목록 작성도 물론 유용하지만, PowerShell의 가장 큰 장점은 서비스 관리입니다. GUI를 건드리지 않고도 서비스를 시작, 중지, 재시작하거나 자동, 수동 또는 비활성화 방식으로 시작 방식을 변경할 수 있습니다.

다음은 몇 가지 일반적인 명령입니다.

  • Stop-Service -Name Spooler — 인쇄 스풀러를 멈춥니다.계속 멈춘 경우 사용할 수 있습니다.
  • Start-Service -Name Spooler — 다시 켭니다.
  • Restart-Service -Name Spooler — 전체 PC를 재부팅하지 않고 해당 서비스를 빠르게 재부팅합니다.
  • Set-Service ‘Spooler’ -StartupType Disabled — 문제를 해결하거나 백그라운드에서 발생하는 불필요한 작업을 줄여야 하는 경우 부팅 시 자동 시작을 비활성화합니다.

Windows 서비스를 나열하는 가장 좋은 방법은 무엇입니까?

솔직히 말해서, PowerShell이 ​​이 분야의 최고입니다.명령 프롬프트에서도 기본적인 목록 작성은 가능하지만, PowerShell의 필터링, 내보내기, 스크립팅 기능은 특히 여러 대의 컴퓨터를 관리하거나 일괄 작업을 실행할 때 훨씬 더 유용합니다.

따라서 어떤 서비스가 실행 중이고, 중단되었으며, 백그라운드에서 숨어 있는지에 대한 전체적인 정보를 알고 싶다면 PowerShell이 ​​가장 좋은 선택입니다.

요약

  • 명령 프롬프트를 사용하여 sc queryex빠르고 간단한 서비스 상태 확인을 수행합니다.
  • PowerShell은 Get-Service더욱 다재다능하여 서비스를 쉽게 필터링, 내보내기 및 제어할 수 있습니다.
  • -ComputerNamePowerShell에서 플래그를 사용하여 원격으로 서비스 확인
  • GUI를 열지 않고 PowerShell 명령을 통해 직접 서비스를 관리합니다.

마무리

명령줄 도구를 통해 Windows 서비스를 나열하고 관리하는 방법을 익히면 문제 해결과 자동화가 훨씬 간소화됩니다.작업 관리자에만 의존하지 않고 빠르게 진단할 수 있다는 점은 정말 큰 도움이 됩니다.이러한 명령과 스크립트에 익숙해지면 이전 상태로 돌아가기가 쉽지 않습니다.하지만 관리자 권한으로 실행하거나 출력을 제대로 필터링하는 등 명령에 약간의 조정이 필요할 수 있다는 점을 기억하세요.이 기능이 누군가에게는 기술 관련 잡일을 몇 시간이나 줄여줄 수 있기를 바랍니다.솔직히 말해서, 이 기능은 익숙해지면 꽤 잘 작동합니다.



이 글이 도움이 되었나요?