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


화면에 표시되는 실행 중인 애플리케이션은 Windows에서 일어나는 일의 극히 일부에 불과합니다. 장치 드라이버 관리부터 보안 보장까지 다양한 백그라운드 프로세스가 Windows PC의 작동을 유지합니다.

여러 컴퓨터를 감독하는 시스템 관리자의 경우 이러한 중요한 서비스의 상태를 볼 수 있는 것이 중요합니다. 이를 위해서는 작업 관리자 접근 방식이 너무 느리고 스크립트로 자동화할 수 없습니다.

해결책은? 명령줄 도구. 명령 프롬프트 또는 파워셸 을 사용하면 시스템에서 실행 중인 운영 Microsoft 서비스를 빠르게 읽을 수 있어 문제를 신속하게 진단하는 데 도움이 됩니다.

명령 프롬프트에 Windows 서비스 나열

Windows PowerShell만큼 유연하거나 강력하지는 않지만 명령 프롬프트 은 여전히 ​​시스템 관리자를 위한 훌륭한 도구입니다. queryex 명령을 사용하여 활성 및 비활성화된 서비스의 상태를 가져온 다음 taskkill 명령을 사용하십시오 를 사용하여 성가신 프로세스를 종료할 수 있습니다.

  1. queryex 명령을 사용하려면 관리자 권한으로 명령 프롬프트를 실행하세요. 시작 메뉴에서 cmd를 검색하여 앱을 찾을 수 있습니다.
    1. sc queryex 명령을 사용하는 방법에는 여러 가지가 있습니다. 유형과 상태는 가장 일반적으로 사용되는 두 가지 매개변수입니다. 예를 들어 모든 Windows 프로세스를 보려면 다음 명령어를 입력하세요.
    2. sc queryex type=service state=all

      1. 기본 보기는 다소 부담스러울 수 있습니다. 목록을 더 쉽게 분석할 수 있도록 프로세스 이름만 표시할 수 있습니다.
      2. sc queryex 유형=서비스 상태=모두 | /i "SERVICE_NAME:" 찾기

        1. 기본적으로 이 명령은 모든 활성 프로세스를 나열합니다. 비활성 항목을 찾으려면 상태 매개변수를 수정하세요.
        2. sc queryex type=service state=inactive

          1. 이름으로 특정 프로세스의 상태를 쿼리할 수도 있습니다. 이는 시스템 관리자에게 매우 유용합니다. 배치 파일을 설정하여 여러 프로세스를 한 번에 확인할 수 있기 때문입니다. 예를 들면 다음과 같습니다:
          2. sc 쿼리 DeviceInstall

            PowerShell에서 Windows 서비스 나열

            .

            파워셸 는 최신 Windows용 전용 명령줄 셸입니다. 따라서 명령을 통해 거의 모든 운영 체제 구성 요소에 대한 액세스를 제공하며 Windows 서비스도 예외는 아닙니다.

            PowerShell의 장점은 쉽게 자동화할 수 있다는 것입니다. 모든 PowerShell 명령은 복잡한 스크립트로 컴파일될 수 있으므로 번거로움 없이 여러 PC에서 시스템 관리 작업을 설정할 수 있습니다.

            1. PowerShell을 열어 시작하세요. 시작 메뉴에서 검색할 수 있습니다. 관리자 권한으로 인스턴스를 실행하세요(즉, 관리자 권한으로).
              1. PowerShell에서 Windows 서비스를 나열하는 가장 간단한 명령은 Get-Service 입니다. 여기에는 컴퓨터의 모든 서비스가 상태 및 이름과 함께 표시됩니다. 유일한 문제는 서비스 목록이 꽤 길 수 있다는 것입니다.
                1. Get-Service 를 사용할 때는 목록을 텍스트 파일로 내보내는 것이 더 좋습니다. 다음과 같이 파이프를 사용하여 이 작업을 수행할 수 있습니다.
                2. 서비스 받기 | 아웃파일 “C:\logs\All_Services.txt”

                  1. 특정 서비스의 상태를 조회하려면 서비스 이름과 함께 Get-Service 명령을 따르세요. 이름을 쉼표로 구분하여 여러 프로세스의 상태를 요청할 수 있습니다.
                  2. Get-Service CryptSvc, COMSysApp

                    1. 파이프는 Get-Service cmdlet을 Where-Object 함수와 결합하고 상태별로 결과를 필터링하는 데에도 사용할 수 있습니다. 다음 명령은 실행 중인 모든 서비스를 가져와 이를 보여줍니다.
                    2. 서비스 받기 | Where-Object {$_.Status -EQ “실행 중”}

                      서비스 종속성 확인

                      복잡한 프로세스는 여러 개의 상호 의존적인 서비스로 분할됩니다. 이것이 단순히 특정 서비스의 상태를 얻는 것만으로는 충분하지 않은 이유입니다. 또한 서비스가 의존하는 서비스의 상태도 확인해야 합니다.

                      1. 특정 서비스에 필요한 서비스를 보려면 Get-Service cmdlet과 함께 -RequiredServices 플래그를 사용하세요. 예를 들면 다음과 같습니다:
                      2. .

                        Get-Service -Name CryptSvc –RequiredServices

                        1. 마찬가지로 특정 서비스에 의존하는 서비스 목록을 얻으려면 -DependentServices 플래그를 활용하세요.
                        2. Get-Service -Name CryptSvc -DependentServices

                          이 두 플래그는 영향을 받는 서비스와 연결된 모든 서비스를 추적할 수 있는 방법을 제공하므로 Windows 서비스를 자동으로 시작하거나 중지하는 스크립트를 작성하는 데 중요합니다.

                          원격 컴퓨터의 Windows 서비스 나열

                          PowerShell 방법은 로컬 컴퓨터에만 국한되지 않습니다. 위에서 설명한 것과 동일한 구문으로 Get-Service cmdlet을 사용하여 원격 PC의 프로세스도 쿼리할 수 있습니다. 정보를 검색할 원격 컴퓨터를 지정하려면 끝에 -ComputerName 플래그를 추가하기만 하면 됩니다.

                          예는 다음과 같습니다.

                          get-service CryptSvc -ComputerName Workstation7

                          PowerShell에서 Windows 서비스 관리

                          Windows PowerShell에서는 서비스 상태를 가져오는 것이 유일한 작업이 아닙니다. 본격적인 스크립팅 환경으로서 모든 GUI 옵션에 대한 스크립트 대안을 제공합니다.

                          Powershell cmdlet은 서비스를 중지, 시작, 다시 시작하거나 수정할 수도 있습니다. 자동화된 Get-Service 명령과 함께 PowerShell 스크립트를 작성하여 일상적인 시스템 관리 작업을 완전히 자동화할 수 있습니다.

                          1. 서비스 상태를 쿼리하는 것 외에도 PowerShell을 사용하여 서비스를 관리할 수도 있습니다. 서비스 이름만 입력하면 단일 명령으로 서비스를 시작하거나 중지할 수 있습니다. 예를 들어 서비스를 중지하는 방법은 다음과 같습니다.
                          2. Stop-Service -Name Spooler

                            1. 서비스 시작도 비슷하게 진행됩니다:
                            2. Start-Service -Name Spooler

                              1. 서비스가 제대로 작동하지 않는 경우 서비스를 다시 시작하도록 선택할 수도 있습니다.
                              2. Restart-Service -Name Spooler

                                1. 서비스 속성을 변경하는 데 사용할 수 있는 Set-Service cmdlet도 있습니다. 여기서는 인쇄 스풀러 서비스의 자동 시작을 비활성화합니다:
                                2. .

                                  Set-Service 'Spooler' -StartupType 비활성화됨

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

                                  Windows 10을 실행하든 Windows Server를 실행하든 관계없이 모든 Windows 서비스 목록을 볼 수 있으면 편리할 수 있습니다. 중요한 시스템 기능의 문제를 진단하거나 불필요한 Microsoft 서비스 중지 성능을 향상시킬 수 있습니다.

                                  이러한 목적을 위해서는 PowerShell이 ​​최선의 선택입니다. 명령 프롬프트에서 서비스 목록을 얻을 수 있지만 PowerShell에서 제공하는 추가 기능이 더 유용합니다.

                                  PowerShell cmdlet을 사용하면 Windows 프로세스의 서비스 상태를 가져오고 해당 상태나 기타 매개변수를 기준으로 필터링할 수 있습니다. 종속 서비스를 결정하고 필요에 따라 시작하거나 중지하는 것도 쉽습니다.

                                  .

                                  관련 게시물:


                                  26.06.2022