Get-Service

컴퓨터의 서비스를 가져옵니다.

Syntax

Get-Service
   [[-Name] <String[]>]
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   -DisplayName <String[]>
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-InputObject <ServiceController[]>]
   [<CommonParameters>]

Description

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

cmdlet은 Get-Service 실행 중 및 중지된 서비스를 포함하여 컴퓨터의 서비스를 나타내는 개체를 가져옵니다. 기본적으로 매개 변수 없이 실행되는 경우 Get-Service 모든 로컬 컴퓨터의 서비스가 반환됩니다.

서비스 이름 또는 서비스의 표시 이름을 지정하여 특정 서비스만 가져오기 위해 이 cmdlet을 지시하거나 서비스 개체를 이 cmdlet으로 파이프할 수 있습니다.

예제

예제 1: 컴퓨터의 모든 서비스 가져오기

이 예제에서는 컴퓨터의 모든 서비스를 가져옵니다. 입력 Get-Service *한 것처럼 동작합니다. 기본 표시에서는 각 서비스의 상태, 서비스 이름 및 표시 이름을 보여 줍니다.

Get-Service

예제 2: 검색 문자열로 시작하는 서비스 가져오기

이 예제에서는 서비스 이름으로 시작하는 WMI 서비스를 검색합니다(Windows Management Instrumentation).

Get-Service "wmi*"

예제 3: 검색 문자열을 포함하는 서비스 표시

다음은 표시 이름이 포함된 서비스를 표시하는 예제입니다 network. 표시 이름을 검색하면 서비스 이름(예: xmlprov, Network Provisioning Service)이 포함되지 Net않은 경우에도 네트워크 관련 서비스를 찾습니다.

Get-Service -Displayname "*network*"

예제 4: 검색 문자열 및 제외로 시작하는 서비스 가져오기

이 예제에서는 WinRM 서비스를 제외하고 서비스 이름으로 시작하는 win서비스만 가져옵니다.

Get-Service -Name "win*" -Exclude "WinRM"

예제 5: 현재 활성 상태인 서비스 표시

다음은 상태를 가진 서비스만 표시하는 예제입니다 Running.

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

Get-Service 는 컴퓨터의 모든 서비스를 가져오고 개체를 파이프라인 아래로 보냅니다. cmdlet은 Where-ObjectStatus 속성이 같은 Running서비스만 선택합니다.

Status는 서비스 개체의 속성 중 하나에 불과합니다. 모든 속성을 보려면 .를 입력합니다 Get-Service | Get-Member.

예제 6: 종속 서비스가 있는 컴퓨터의 서비스 나열

이 예제에서는 종속 서비스가 있는 서비스를 가져옵니다.

Get-Service |
  Where-Object {$_.DependentServices} |
    Format-List -Property Name, DependentServices, @{
      Label="NoOfDependentServices"; Expression={$_.dependentservices.count}
    }

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

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

cmdlet은 Get-Service 컴퓨터의 모든 서비스를 가져오고 파이프라인 아래로 개체를 보냅니다. cmdlet은 Where-ObjectDependentServices 속성이 null이 아닌 서비스를 선택합니다.

결과는 파이프라인 아래로 cmdlet으로 Format-List 전송됩니다. Property 매개 변수는 서비스의 이름, 종속 서비스의 이름 및 각 서비스에 대한 종속 서비스 수를 표시하는 계산된 속성을 표시합니다.

예제 7: 속성 값으로 서비스 정렬

이 예제에서는 서비스를 Status 속성 값으로 오름차순으로 정렬할 때 서비스를 실행하기 전에 중지된 서비스가 나타나는 것을 보여 줍니다. 이는 Status의 값이 값이 있고 값4이 있는 Stopped1Running 열거형이기 때문에 발생합니다. 자세한 내용은 ServiceControllerStatus를 참조하세요.

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

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

예제 8: 서비스의 종속 서비스 가져오기

이 예제에서는 WinRM 서비스에 필요한 서비스를 가져옵니다. 서비스의 ServicesDependedOn 속성 값이 반환됩니다.

Get-Service "WinRM" -RequiredServices

예제 9: 파이프라인 연산자를 통해 서비스 가져오기

이 예제에서는 로컬 컴퓨터에서 WinRM 서비스를 가져옵니다. 따옴표로 묶인 서비스 이름 문자열이 파이프라인 Get-Service아래로 전송됩니다.

"WinRM" | Get-Service

매개 변수

-DependentServices

이 cmdlet은 지정된 서비스에 따라 달라지는 서비스만 가져옵니다.

Type:SwitchParameter
Aliases:DS
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

검색할 서비스의 표시 이름을 문자열 배열로 지정합니다. 와일드카드가 지원됩니다.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

문자열 배열로 이 cmdlet이 작업에서 제외하는 서비스 또는 서비스를 지정합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: s*.)을 입력합니다. 와일드카드가 지원됩니다.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-Include

이 cmdlet이 작업에 포함하는 서비스 또는 서비스를 문자열 배열로 지정합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: s*.)을 입력합니다. 와일드카드가 지원됩니다.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

검색할 서비스를 나타내는 ServiceController 개체를 지정합니다. 개체를 포함하는 변수를 입력하거나 개체를 가져오는 명령 또는 식을 입력하세요. 서비스 개체를 이 cmdlet으로 파이프할 수 있습니다.

Type:ServiceController[]
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Name

검색할 서비스의 표시 이름을 지정합니다. 와일드카드가 지원됩니다.

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Accept pipeline input:True
Accept wildcard characters:True

-RequiredServices

이 cmdlet은 이 서비스에 필요한 서비스만 가져옵니다. 이 매개 변수는 서비스의 ServicesDependedOn 속성 값을 가져옵니다.

Type:SwitchParameter
Aliases:SDO, ServicesDependedOn
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:True

입력

System.ServiceProcess.ServiceController, System.String

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

출력

ServiceController

이 cmdlet은 컴퓨터의 서비스를 나타내는 개체를 반환합니다.

참고

이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.

PowerShell 6.0부터 ServiceController 개체에 UserName, Description, DelayedAutoStart, BinaryPathNameStartupType 속성이 추가됩니다.

기본 제공 별칭으로 참조할 Get-Service 수도 있습니다. gsv 자세한 내용은 about_Aliases 참조하세요.

이 cmdlet은 현재 사용자에게 볼 수 있는 권한이 있는 경우에만 서비스를 표시할 수 있습니다. 이 cmdlet이 서비스를 표시하지 않는 경우 서비스를 볼 수 있는 권한이 없을 수 있습니다.

시스템에서 각 서비스의 서비스 이름과 표시 이름을 찾으려면 다음을 입력 Get-Service합니다. 이름 열에 서비스 이름이 표시되고 표시 이름이 DisplayName 열에 표시됩니다.

상태 값을 Stopped 기준으로 오름차순으로 정렬하면 서비스가 서비스 앞에 Running 표시됩니다. 서비스의 Status 속성은 상태 이름이 정수 값을 나타내는 열거형 값입니다. 정렬 작업은 이름이 아니라 정수 값을 기준으로 수행됩니다. Running의 값이 있고 4Running1이 같기 때문에 Stopped 앞에 Stopped 나타납니다. 자세한 내용은 ServiceControllerStatus를 참조하세요.