Get-Service
컴퓨터의 서비스를 가져옵니다.
구문
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 플랫폼에서만 사용할 수 있습니다.
Get-Service
cmdlet은 실행 및 중지된 서비스를 포함하여 컴퓨터의 서비스를 나타내는 개체를 가져옵니다. 기본적으로 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
컴퓨터의 모든 서비스를 가져오고 파이프라인 아래로 개체를 보냅니다.
Where-Object
cmdlet은 Status 속성이 Running
와 같은 서비스만 선택합니다.
상태는 서비스 개체의 속성 중 하나일 뿐입니다. 모든 속성을 보려면 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
...
Get-Service
cmdlet은 컴퓨터의 모든 서비스를 가져오고 개체를 파이프라인 아래로 보냅니다.
Where-Object
cmdlet은 DependentServices 속성이 null이 아닌 서비스를 선택합니다.
결과는 파이프라인을 통해 Format-List
cmdlet으로 전달됩니다.
속성 매개 변수는 서비스의 이름, 종속 서비스의 이름 및 각 서비스에 대한 종속 서비스 수를 표시하는 계산된 속성을 표시합니다.
예제 7: 속성 값별로 서비스 정렬
이 예제에서는 서비스를 Status 속성 값으로 오름차순으로 정렬하면 서비스를 실행하기 전에 중지된 서비스가 나타납니다.
상태 값이 열거형으로, Stopped
값이 1
이고 Running
값이 4
이기 때문에 발생합니다. 자세한 내용은 ServiceControllerStatus참조하세요.
실행 중인 서비스를 먼저 나열하려면 Sort-Object
cmdlet의 내림차순 매개 변수를 사용합니다.
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은 지정된 서비스에 의존하는 서비스만 가져옵니다.
형식: | SwitchParameter |
별칭: | DS |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-DisplayName
검색할 서비스의 표시 이름을 문자열 배열로 지정합니다. 와일드카드가 허용됩니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-Exclude
이 cmdlet이 작업에서 제외하는 서비스 또는 서비스를 문자열 배열로 지정합니다.
이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: s*
)을 입력합니다. 와일드카드가 허용됩니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-Include
문자열 배열로 이 cmdlet이 작업에 포함하는 서비스 또는 서비스를 지정합니다. 이 매개 변수의 값은 Name 매개 변수를 한정합니다. 이름 요소 또는 패턴(예: s*
)을 입력합니다. 와일드카드가 허용됩니다.
형식: | String[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
-InputObject
검색할 서비스를 나타내는 ServiceController 개체를 지정합니다. 개체가 포함된 변수를 입력하거나 개체를 가져오는 명령이나 식을 입력합니다. 서비스 개체를 이 cmdlet으로 파이프할 수 있습니다.
형식: | ServiceController[] |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | False |
-Name
검색할 서비스의 서비스 이름을 지정합니다. 와일드카드가 허용됩니다.
형식: | String[] |
별칭: | ServiceName |
Position: | 0 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | True |
와일드카드 문자 허용: | True |
-RequiredServices
이 cmdlet은 이 서비스에 필요한 서비스만 가져옵니다. 이 매개 변수는 서비스의 ServicesDependedOn 속성 값을 가져옵니다.
형식: | SwitchParameter |
별칭: | SDO, ServicesDependedOn |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | True |
입력
서비스 개체를 이 cmdlet으로 파이프할 수 있습니다.
서비스 이름을 이 cmdlet으로 파이프할 수 있습니다.
출력
이 cmdlet은 컴퓨터의 서비스를 나타내는 개체를 반환합니다.
참고
PowerShell에는 Get-Service
다음과 같은 별칭이 포함되어 있습니다.
- Windows:
gsv
이 cmdlet은 Windows 플랫폼에서만 사용할 수 있습니다.
PowerShell 6.0부터 다음 속성이 ServiceController 개체에 추가됩니다. UserName, 설명, DelayedAutoStart, BinaryPathName및 StartupType.
이 cmdlet은 현재 사용자에게 볼 수 있는 권한이 있는 경우에만 서비스를 표시할 수 있습니다. 이 cmdlet이 서비스를 표시하지 않으면 서비스를 볼 수 있는 권한이 없을 수 있습니다.
시스템에서 각 서비스의 서비스 이름과 표시 이름을 찾으려면 Get-Service
입력합니다. 서비스 이름은 이름 열에 나타나고 표시 이름은 DisplayName 열에 표시됩니다.
메모
일반적으로 Get-Service
드라이버가 아닌 서비스에 대한 정보를 반환합니다. 그러나 드라이버의 이름을 지정하는 경우 Get-Service
드라이버에 대한 정보를 반환합니다.
- 열거형에는 디바이스 드라이버 서비스가 포함되지 않습니다.
- 와일드카드를 지정하면 cmdlet은 Windows 서비스만 반환합니다.
- 이름 지정하거나 디바이스 서비스 이름과 정확히 일치하는 DisplayName 경우 디바이스 인스턴스가 반환됩니다.
상태 값을 기준으로 오름차순으로 정렬하면, Stopped
서비스가 Running
서비스 앞에 나타납니다. 서비스의 Status 속성은 상태 이름이 정수 값을 나타내는 열거형 값입니다. 정렬은 이름이 아닌 정수 값을 기반으로 합니다.
Stopped
값이 1
Running
값이 4
때문에 Stopped
앞에 Running
나타납니다. 자세한 내용은 ServiceControllerStatus참조하세요.
관련 링크
PowerShell