로컬 또는 원격 컴퓨터의 서비스를 가져옵니다.

구문

Get-Service [[-Name] <string[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]

Get-Service -DisplayName <string[]> [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]

Get-Service [-InputObject <ServiceController[]>] [-ComputerName <string[]>] [-DependentServices] [-Exclude <string[]>] [-Include <string[]>] [-RequiredServices] [<CommonParameters>]

설명

Get-Service cmdlet은 실행 중인 서비스와 중지된 서비스를 포함하여 로컬 컴퓨터 또는 원격 컴퓨터의 서비스를 나타내는 개체를 가져옵니다.

서비스의 이름 또는 표시 이름을 지정하여 특정 서비스만 가져오도록 Get-Service에 지시하거나 서비스 개체를 Get-Service로 파이프할 수 있습니다.

매개 변수

-ComputerName <string[]>

지정된 컴퓨터에서 실행 중인 서비스를 가져옵니다. 기본값은 로컬 컴퓨터입니다.

원격 컴퓨터의 NetBIOS 이름, IP 주소 또는 정규화된 도메인 이름을 입력합니다. 로컬 컴퓨터를 지정하려면 컴퓨터 이름, 점(.) 또는 "localhost"를 입력합니다.

이 매개 변수는 Windows PowerShell 원격에 독립적입니다. 원격 명령을 실행하도록 컴퓨터를 구성하지 않은 경우에도 Get-Service의 ComputerName 매개 변수를 사용할 수 있습니다.

필수 여부

false

위치

named

기본값

Localhost

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-DependentServices

지정된 서비스에 종속된 서비스만 가져옵니다.

기본적으로 Get-Service는 모든 서비스를 가져옵니다.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-DisplayName <string[]>

검색할 서비스의 표시 이름을 지정합니다. 와일드카드를 사용할 수 있습니다. 기본적으로 Get-Service는 컴퓨터의 모든 서비스를 가져옵니다.

필수 여부

true

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Exclude <string[]>

지정된 서비스를 생략합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: "*s*")을 입력하십시오. 와일드카드를 사용할 수 있습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Include <string[]>

지정된 서비스만 검색합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: "*s*")을 입력하십시오. 와일드카드를 사용할 수 있습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-InputObject <ServiceController[]>

검색할 서비스를 나타내는 ServiceController 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하십시오. 또한 서비스 개체를 Get-Service로 파이프할 수 있습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

true (ByValue)

와일드카드 문자 적용 여부

false

-Name <string[]>

검색할 서비스의 서비스 이름을 지정합니다. 와일드카드를 사용할 수 있습니다. 기본적으로 Get-Service는 컴퓨터의 모든 서비스를 가져옵니다.

필수 여부

false

위치

1

기본값

파이프라인 입력 적용 여부

true (ByValue, ByPropertyName)

와일드카드 문자 적용 여부

true

-RequiredServices

이 서비스에 필요한 서비스만 가져옵니다.

이 매개 변수는 서비스의 ServicesDependedOn 속성 값을 가져옵니다. 기본적으로 Get-Service는 모든 서비스를 가져옵니다.

필수 여부

false

위치

named

기본값

False

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_Commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.ServiceProcess.ServiceController, System.String

서비스 개체 또는 서비스 이름을 Get-Service로 파이프할 수 있습니다.

출력

System.ServiceProcess.ServiceController

Get-Service는 컴퓨터의 서비스를 나타내는 개체를 반환합니다.

참고

또한 해당 기본 제공 별칭("gsv")으로 Get-Service를 참조할 수 있습니다. 자세한 내용은 about_Aliases를 참조하십시오.

Get-Service는 현재 사용자가 서비스를 볼 수 있는 권한을 가진 경우에만 서비스를 표시할 수 있습니다. 따라서 Get-Service가 서비스를 표시하지 않는 경우 해당 서비스를 볼 수 있는 권한이 없을 수 있습니다.

사용자 시스템의 각 서비스에 대한 서비스 이름 및 표시 이름을 찾으려면 "get-service"를 입력하십시오. 서비스 이름은 Name 열에 나타나고 표시 이름은 DisplayName 열에 나타납니다.

상태 값을 기준으로 오름차순으로 정렬하는 경우 상태가 "Stopped"인 서비스가 상태가 "Running"인 서비스보다 앞에 나타납니다. 서비스의 Status 속성은 상태 이름이 정수 값으로 나타나는 열거형 값입니다. 정렬 작업은 이름이 아니라 정수 값을 기준으로 수행됩니다. "Stopped"는 값이 "1"이고 "Running"은 값이 "4"이기 때문에 "Running"이 "Stopped"보다 앞에 나타납니다.

예 1

C:\PS>get-service

설명
-----------
이 명령은 시스템의 모든 서비스를 검색합니다. 이 명령은 "get-service *"를 입력한 것처럼 작동합니다. 기본 표시에서는 각 서비스의 상태, 서비스 이름 및 표시 이름을 보여 줍니다.






예 2

C:\PS>get-service wmi*

설명
-----------
이 명령은 서비스 이름이 "WMI"(Windows Management Instrumentation의 약어)로 시작하는 서비스를 검색합니다.






예 3

C:\PS>get-service -displayname *network*

설명
-----------
이 명령은 표시 이름에 "network"가 포함된 서비스를 
표시합니다. 표시 이름을 검색하면 xmlprov(Network Provisioning Service)와 같이 서비스 이름에 "Net"이 없는 경우에도 네트워크 관련 서비스를 찾을 수 있습니다.






예 4

C:\PS>get-service -name win* -exclude winrm

설명
-----------
이들 명령은 WinRM 서비스를 제외하고 서비스 이름이 "win"으로 시작하는 서비스만 가져옵니다.






예 5

C:\PS>get-service | where-object {$_.Status -eq "Running"}

설명
-----------
이 명령은 현재 실행 중인 서비스만 표시합니다. 이 명령은 Get-Service cmdlet을 사용하여 컴퓨터의 모든 서비스를 가져옵니다. 파이프라인 연산자(|)는 Where-Object cmdlet으로 결과를 전달합니다. Where-Object cmdlet은 Status 속성이 "Running"에 해당하는 서비스만 선택합니다.

Status는 서비스 개체의 속성 중 하나입니다. 속성을 모두 보려면 "get-service | get-member"를 입력하십시오.






예 6

C:\PS>get-service -computername Server02

설명
-----------
이 명령은 Server02 원격 컴퓨터의 서비스를 가져옵니다. 

Get-Service의 ComputerName 매개 변수는 Windows PowerShell 원격을 사용하지 않기 때문에 Windows PowerShell에서 원격을 사용하도록 컴퓨터가 구성되지 않은 경우에도 이 매개 변수를 사용할 수 있습니다.






예 7

C:\PS>get-service | where-object {$_.DependentServices} | format-list -property Name, DependentServices, @{Label="NoOfDependentS
ervices"; Expression={$_.dependentservices.count}} 

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

Name                  : Dhcp
DependentServices     : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...

설명
-----------
이들 명령은 컴퓨터에서 종속된 서비스가 있는 서비스를 나열합니다. 

첫 번째 명령은 Get-Service cmdlet을 사용하여 컴퓨터의 서비스를 가져옵니다. 파이프라인 연산자(|)는 서비스를 Where-Object cmdlet으로 보내고 그러면 이 cmdlet은 DependentServices 속성이 null이 아닌 서비스를 선택합니다. 

다른 파이프라인 연산자(|)는 결과를 Format-List cmdlet으로 보냅니다. 이 명령은 해당 Property 매개 변수를 사용하여 서비스의 표시 이름, 종속된 서비스, 각 서비스의 종속된 서비스 수를 표시하는 계산된 속성을 표시합니다.






예 8

C:\PS>C:\PS> get-service s* | sort-object status 

Status   Name               DisplayName
------   ----               -----------
Stopped  stisvc             Windows Image Acquisition (WIA)
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  SysmonLog          Performance Logs and Alerts
Running  Spooler            Print Spooler
Running  srservice          System Restore Service
Running  SSDPSRV            SSDP Discovery Service
Running  ShellHWDetection   Shell Hardware Detection
Running  Schedule           Task Scheduler
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon

C:\PS> get-service s* | sort-object status -descending

Status   Name               DisplayName
------   ----               -----------
Running  ShellHWDetection   Shell Hardware Detection
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  Spooler            Print Spooler
Running  SSDPSRV            SSDP Discovery Service
Running  srservice          System Restore Service
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  Schedule           Task Scheduler
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon
Stopped  SysmonLog          Performance Logs and Alerts
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  stisvc             Windows Image Acquisition (WIA)

설명
-----------
이 명령은 해당 Status 속성을 기준으로 오름차순으로 서비스를 정렬하는 경우 중지된 서비스가 실행 중인 서비스보다 앞에 나온다는 것을 보여 줍니다. Status는 열거형 값이며 "Stopped"의 값은 "1"이고 "Running"의 값은 4이기 때문입니다. 

실행 중인 서비스를 먼저 나열하려면 Sort-Object cmdlet의 Descending 매개 변수를 사용합니다.






예 9

C:\PS>get-service -name winrm -computername localhost, Server01, Server02  | format-table -property MachineName, Status, Name, DisplayName -auto

MachineName    Status  Name  DisplayName
------------   ------  ----  -----------
localhost      Running WinRM Windows Remote Management (WS-Management)
Server01       Running WinRM Windows Remote Management (WS-Management)
Server02       Running WinRM Windows Remote Management (WS-Management)

설명
-----------
이 명령은 Get-Service cmdlet을 사용하여 두 원격 컴퓨터와 로컬 컴퓨터("localhost")에서 "Get-Service Winrm" 명령을 실행합니다. 

원격 컴퓨터에서 Get-Service 명령이 실행되어 그 결과가 로컬 컴퓨터로 반환됩니다. 파이프라인 연산자(|)는 Format-Table cmdlet으로 결과를 보내고 그러면 이 cmdlet은 서비스를 테이블 형식으로 표시합니다. Format-Table 명령은 Property 매개 변수를 사용하여 MachineName 속성을 포함해 표에 표시된 속성을 지정합니다.






예 10

C:\PS>get-service winrm -requiredServices

설명
-----------
이 명령은 WinRM 서비스에 필요한 서비스를 가져옵니다. 

명령은 서비스의 ServicesDependedOn 속성 값을 반환합니다.






예 11

C:\PS>"winrm" | get-service

설명
-----------
이 명령은 로컬 컴퓨터의 WinRM 서비스를 가져옵니다. 이 예에서는 서비스 이름 문자열을 따옴표로 묶어 Get-Service로 파이프할 수 있음을 보여 줍니다.






참고 항목




목차