Powershell 12

Powershell 모듈 만들기

Powershell 모듈은 다른 프로그래밍 언어의 라이브러리의 개념처럼 특정 기능을 하는 함수의 집합을 의미하며, 이번 포스팅에서는 모듈 파일을 작성 후 실제 사용 예시를 통해 모듈 파일을 어떤 식으로 등록하는지 알아보도록 하겠습니다. 1. 모듈 파일 저장 위치 및 구성 - 아래 명령어를 통해 모듈 파일의 저장 위치에 대해서 알아보겠습니다. > Get-Content Env:\PSModulePath - 명령어 실행 시 위와 같이 세 개의 경로가 나오게됩니다. A. C:\Users\[프로필 명]\OneDrive\문서\WindowsPowerShell\Modules : Default (C:\Windows\System32\WindowsPowerShell\v1.0\Modules) : 마이크로소프트에서 예약해 놓은 ..

Powershell 2021.02.20

Powershell 파이프라인과 개체

이번 포스팅에서는 Powershell 파이프 라인 사용 방법과 이를 응용하여 개체를 필터링하는 방법에 대해서 다뤄보도록 하겠습니다. 1. Powershell 개체의 개념 및 멤버 - 개체의 개념 프로그래머의 관점으로 보았을 때 개체는 직관적으로 속성과 메서드 등의 여러 가지 멤버를 포함하는 개념을 뜻한다. 하지만 여기 Powershell에서는 실행 결과를 개체의 한 형태로 정의하였으며, 개체는 여기서 한 명령의 결과가 다른 명령의 결과가 상호 관계성을 가질 수 있다는 뜻이며, 개체의 정의에서처럼 한 개체 안에 포함된 특성, 행위, 정체성으로 개체 자체를 제어할 수 있다는 것을 뜻함. Powershell의 최상위 개체는 Object, PSObject 두 가지이다. - 개체의 멤버 개체의 멤버는 크게 속성,..

Powershell 2020.12.29

Powershell 도움말

Linux의 Man 페이지와 같이 Powershell에서 제공하는 도움말 시스템에 대해서 알아보고 추가적인 응용을 통해 조금 더 가시적으로 도움말을 활용하는 방법에 대해서 포스팅 해보도록 하겠습니다. 1. Powershell 도움말 확인 - Get-Help라는 명령어를 이용하여 명령어에 대한 도움말을 확인 할 수 있다. - 이름, 개요, 구문, 설명, 관련 링크, 설명(사용법)으로 구성되어 있다. - 명령어를 실행시켜봅니다. > Get-Help Get-Help - 출력 결과 1 - 출력 결과 2 > Get-Help [커맨드 이름] [ -detailed | -examples | -full | -online] - 위와 같이 크게 4가지 폼으로 사용 가능하다. a. default : 기본 값이며, 명령에 대한..

Powershell 2020.12.29

HTTP 요청 보내기 ( Invoke-WebRequest / Invoke-RestMethod )

Powershell의 Invoke-WebRequest, Invoke-RestMethod를 이용하여 HTTP 요청을 보내는 방법에 대해서 알아보도록 하겠습니다. 실직적인 데이터 비교를 위해 이전에 구성한 Zabbix 서버를 활용하여 데이터 정상 송/수신 체크를 진행해보도록 하겠습니다. Zabbix 서버가 없으시면 오래 걸리는 작업은 아니므로 Zabbix 관련 포스트를 참조하여 구성을 하시거나, 원리만 파악하시기 바랍니다. Zabbix의 부가적인 작업을 하기위해 HTTP POST 요청을 통하여 Auth 토큰을 구해보겠습니다. 1. Invoke-WebRequest / Invoke-RestMethod 비교 - Invoke-WebRequest : 인터넷의 웹 페이지로부터 컨텐츠를 얻어옴 : 주요 옵션 a. Uri..

Powershell 2020.12.25

Send-MailMessage (구글 SMTP 서버를 이용한 메일 전송)

구글 SMTP 서버를 활용하여 Powershell의 Send-MailMessage 커맨드를 이용하여 메일 전송 테스트를 진행해보겠습니다. 1. Send-MailMessage 커맨드 정보 확인 - 아래 명령어를 통해서 해당 커맨드 매개 변수 및 사용법을 확인해봅니다. > Get-Help Send-MailMessage : 위와 같이 표기되는데 좀 더 자세한 정보를 위해 아래와 같이 명령어를 실행 시켜줍니다. > Get-Help Send-MailMessage -Detailed : 위와 같이 사용되는 매개 변수에 대한 자세한 정보 확인이 가능합니다. 2. 메일 전송 테스트 - Get-Help Send-MailMessage -examples 내용을 참조하여 아래와 같이 명령어를 실행 시켜줍니다. > Send-Ma..

Powershell 2020.12.22

Powershell 출력 유형

1. Write-Host : 사용자가 지정한 출력을 호스트에 쓴다 : 색깔 및 구분자 등을 이용하여 다양하게 지정 가능 : 파이프 라인 입력 값으로는 사용 불가 [옵션] -Object: 콘솔에 출력할 개체 지정 -ForegroundColor: 출력하는 문자열 색상 지정 -BackgroundColor: 출력하는 문자열 배경색 지정 -NoNewline: 콘솔에 문자열 출력 시 개행 문자 붙일지 여무 지정. 기본값 True -Separate: 콘솔에 출력되는 개체들 사이에 구분 문자열 2. Write-Output : 사용자가 지정한 출력을 파이프 라인으로 보냄 : 다른 cmdlet으로 파이프되거나 변수에 할당 가능 [옵션] -InputObject 파이프라인으로 보낼 개체를 지정 -NoEnumerate 지정한 ..

Powershell 2020.11.20

Get-WmiObject를 이용한 NIC 규격 구하기

1. Get-WmiObject : 사용 가능한 옵션은 아래와 같습니다. 2. Get-WmiObject -List |more or Get-WmiObject -List |findstr ["검색하고자하는 Class"] 3. Get-WmiObject -Class Win32_NetworkAdapter : Class 할당 : Filter 설정 4. 출력 값 Gb 형태로 변경 : speed 라벨 재 설정 및 출력 형태 변경 : @{label="speed";expression={"${$_.speed/1000000000) Gb/s"}} : $_.speed - speed 값 참조 community.spiceworks.com/topic/2187738-how-do-i-get-win32_networkadapter-to-repo..

Powershell 2020.11.20

Findstr 사용법

## FINDSTR: 파일에서 특정 문자열을 검색할 때 사용 ## 1. 옵션 /B: 패턴이 행의 첫 부분에 있는지를 비교 /E: 패턴이 행의 끝부분에 있는지를 비교 /L: 찾는 문자열을 글자 그대로 사용 /R: 찾는 문자열을 정규식으로 사용 /S: 현재 디렉토리와 모든 하위 디렉토리에서 일치하는 파일 검색 /I: 찾을 때 대/소문자 구문하지 않음 /X: 정확히 일치하는 줄만 보여줌 /V: 일치하는 텍스트가 없는 줄만 보여줌 /N: 일치하는 각 줄 앞에 줄 번호를 보여줌 /M: 파일에 일치하는 텍스트가 있으면 파일 이름만 보여줌 /O: 일치하는 각 줄 앞에 문자 오프셋을 보여줌 /P: 인쇄할 수 없는 텍스트가 포함된 파일은 건너뜀 /C: 옵션을 공백에 대한 구분을 지정해줌 공백 포함하여 검색 (공백 포함 ..

Powershell 2020.10.25

Powershell 개체

1. 명령의 결과 제한하기 #get-service(gsv) |select-obejct -first 7 #get-service(gsv) |select-obejct -last 7 #get-service(gsv) |select-obejct -skip 7 #get-service(gsv) |select-obejct -index 0,3 #get-service(gsv) |select-obejct -index(0..3) 2. 종속된 서비스 목록 확인 #Get-Service |Get-Member 3. 사용자 지정 속성 사용 : @{ N='[레이블 문자열의 값]' E={$PSItem.[Member 값]} ($PSItem -> $_ 형태로 표현 가능) } : 전체 크기와 남은 크기의 레이블을 각각 전체 크기, 남은 크기로 ..

Powershell 2020.10.15