PowerShell

PowerShell 필터링 기능

delmaster 2016. 2. 26. 09:00

파워쉘 명령어를 통해 결과물을 출력할때 원하는 결과만 필터링 해서 봐야할 때가 있습니다. 그럴때는 'Where-Object' 를 사용해서 필터링 할 수 있겠습니다.

'Where-Object' 또는 Alias 되어진 'Where' 또 다른 Alias인 '?' 를 사용할 수 있습니다.

또한 '-Property'는 '$PSitem.' 또는 '$_.' 으로 쓸수 있습니다.

  

 

Get-Service 를 입력하면 아래와 같이 출력되어집니다. 

powershell get-service

 

 

서비스의 상태 즉, Status 가 Running 인 서비스만 출력하고 싶다면 아래와 같이 입력할 수 있습니다.

 powershell where

 

상기 명령줄을아래와 같이 실행 할 수도 있습니다.

 gsv

 

status

 

 

get-service

 

 

그런데 상태가 실행중이면서 서비스명이 'WIN' 포함되는 것을 찾고 싶다면. 즉, 두가지 이상의 조건으로 필터링 하고 싶다면 아래와 같이 입력할 수 있습니다.  

where-object

 

$_.

 

 

만약 Status가 Running 이거나 서비스의 이름에 'WIN' 이 포함되는 것을 찾고 싶다면 or 연산을 해야 합니다.

하기의 결과를 보면 상태(Status)가 'Stopped' 이지만 or 연산에 따라 출력되었다는 것을 알 수 있습니다. 

$psitem

 

 

'PowerShell' 카테고리의 다른 글

원격 Powershell 실행  (0) 2016.03.02
PowerShell 조건문 IF  (0) 2016.02.29
PowerShell 변수 사용  (0) 2016.02.29
PowerShell 리디렉션 출력  (0) 2016.02.26
PowerShell 비교 연산자  (0) 2016.02.25
PowerShell 명령어 실행결과확인 또는 실행승인  (0) 2016.02.25
PowerShell 폴더와 파일 생성  (0) 2016.02.25
PowerShell Alias  (0) 2016.02.24