728x90
반응형
이번 포스팅에서는 Powershell 파이프 라인 사용 방법과 이를 응용하여 개체를 필터링하는 방법에 대해서 다뤄보도록 하겠습니다.
1. Powershell 개체의 개념 및 멤버
- 개체의 개념
프로그래머의 관점으로 보았을 때 개체는 직관적으로 속성과 메서드 등의 여러 가지 멤버를 포함하는 개념을 뜻한다. 하지만 여기 Powershell에서는 실행 결과를 개체의 한 형태로 정의하였으며, 개체는 여기서 한 명령의 결과가 다른 명령의 결과가 상호 관계성을 가질 수 있다는 뜻이며, 개체의 정의에서처럼 한 개체 안에 포함된 특성, 행위, 정체성으로 개체 자체를 제어할 수 있다는 것을 뜻함. Powershell의 최상위 개체는 Object, PSObject 두 가지이다.
- 개체의 멤버
개체의 멤버는 크게 속성, 메서드, 이벤트로 나뉘며 주로 Powershell에서는 주로 속성과 메서드에 대해서 다룬다.
a. 속성(Property): 개체의 특성을 말하며 주로 명사를 사용(ex. 서비스 이름, PID, 로그 메세지 등)
b. 메서드(Method): 개체의 동작을 나타내는 멤버이며 주로 동사를 사용(ex. 동작의 종료, 로그 삭제 등)
c. 이벤트(Event): 개체에 특정 상황을 발생시킨 원인
2. 개체 멤버 확인하기
- Get-Member 명령어를 사용
> Get-Command | Get-Member
- 위와 같이 커맨드가 출력결과로 내놓는 개체의 멤버에 대해 볼 수 있다. Name, Type 등..
3. Powershell 파이프 라인 사용
- 명령의 결과 제한
a. -First n: 위에서 부터 n개의 결과 출력
b. -Last n: 아래에서 부터 n개의 결과 출력
c. -Skip n: n개의 데이터 스킵 후 출력
d. -index n1, n2...: 행 번호를 지정하여 결과 출력
e. -index (n1..n2): 두 개의 행 번호를 지정하여 범위 출력
- 표시할 속성 지정
a. -Property 속성1, 속성2...: 선택한 속성만 표시
: {[인덱스 번호]:[적용할 서식][자릿수 지정자]} -f [서식 문자열]
ex) @{n='Total Size(GB)'; e={'{0:N2}' -f ($_.Size/1GB)}} // 속성 이름 변경 및 값 Preprocessing
: $_. 현재 결과 값을 의미
- 개체 정렬(Sort-Object)
a. -Property: 개체 이름으로 정렬
b. -Descending: 정렬 순서를 내림 차순으로 변경 (Default 오름 차순)
c. -CaseSensitive: 정렬 시에 대소문자를 구분함
- 개체 필터링(Where-Object)
a. -Property: 기본 필터로 사용하려는 개체 속성을 지정. 하나의 속성만 지정 가능
b. -Value: 속성의 값을 지정
c. -FilterScript: 고급 필터로 사용하는 스크립트를 지정
728x90
반응형
'Powershell' 카테고리의 다른 글
Powershell 모듈 만들기 (0) | 2021.02.20 |
---|---|
Powershell 도움말 (0) | 2020.12.29 |
HTTP 요청 보내기 ( Invoke-WebRequest / Invoke-RestMethod ) (0) | 2020.12.25 |
Send-MailMessage (구글 SMTP 서버를 이용한 메일 전송) (0) | 2020.12.22 |
Powershell 출력 유형 (0) | 2020.11.20 |