Powershell – Customize prompt

Powershell 의 Prompt는 기본적으로 PS {현재경로}> 로 되어 있다. 이 모양은 Powershell 에서 명령을 수행하고 Prompt 라는 Function을 수행한 결과이다. 믿기지 않는 다면 다음 명령으로 확인 해 보자.

다음과 같이 Fuction임을 확인 할 수 있을 것이다.

Definition을 자세히 보면 다음과 같다.

위의 코드가 Powershell의 Prompt를 쓰는 것이다. 그러므로 똑같은 이름의 Prompt Function을…

Read More

Powershell – FTP List Parsing

Powershell 을 이용해 FTP Server를 상대로 자동화 작업을 하다보니 File 업로드, 다운로드 뿐 만 아니라. 특정 FTP 경로 아래에 있는 File 과 Directory 들의 정보가 필요 했다. 이때 FTP Server를 상대로 WebRequest를 보내는데 이때 Request Method를 “List”로 한다. 이전에 올린 포스트인 Get-WebResponseString 을 이용하여 List를 요청 해 보자. 참고 Get-WebResponseString

다음과 같은 결과가 나온다…

Read More

Powershell – Web (FTP) Request, Response

Powershell 을 이용하여 웹 요청을 해보자. 웹 사이트를 관리 하거나 Rest 방식의 서비스를 사용 할 때 유용하다. Get-WebResponseString

사용 예

$Response 에서 결과 String을 반환 하지 않고 .StatusCode 등 다른 정보를 활용 할 수 있다. Web 뿐만 아니라 FTP 에서도 동일하게 사용 할 수 있다…

Read More

Powershell – Hash Tables (해시 테이블)

Powershell 에서의 Hash Table은 .NET 의 System.Collections.Hashtable 타입이다. 따라서 동일한 Property와 Method 들을 가지고 있다. Hash Table은 Key-Value Pair(쌍) 의 Collection 이다. Key 와 Value 쌍으로 있어야 입력 할 수 있다. Value는 null 값이 가능 하지만 Keys는 null 값이 허용되지 않는다. Hash Table 생성 Hash Table 개체는 New-Object cmdlet 또는 @{ } 로 생성 할…

Read More

Powershell – Arrays (배열)

Powershell 의 모든 Variable(변수)는 .NET의 Type을 가지는데 지금 부터 설명할 Array는 Powershell에서 기본 값으로 System.Object[] 타입으로 생성된다. 배열 선언 간단한 Array부터 만들어 보자.

다음과 같이 출력 될 것이다.

원소가 3개인 Object 배열 (Object[]) 이 생성되었다. 확인을 위해 다음을 하나씩 입력 해 보자.

$Arr 개체가 타입이 Object[] 즉 배열로 생성이 되었고, Property들이 정상…

Read More

Powershell – Web File Download , Upload

Powershell을 이용하여 Linux의 wget과 같이 Web (http, ftp) 에서 File을 다운로드하고 업로드하는 스크립트를 만들어 보자. .Net의 WebClient를 사용하면 간단하다. Get-WebFile.ps1

핵심은 WebClient 개체를 만들고 DownloadFile 메서드를 호출 하는 것. Upload도 마찬가지로 UploadFile 메서드를 호출 하면 된다. Add-WebFile.ps1

이름 정하기가 까다롭다. Get-Verb 안에서 동사를 선택 하는데 Download, Upload 는 없으므로 Get , Add를 사용…

Read More

Powershell – Network Adapter Enable, Disable

WmiObject 를 이용하여 네트워크 장치(랜카드, NIC)를 활성화, 비 활성화 시킨다. 핵심은 win32_networkadapter WmiObject 를 이용하여 해당 Network Adapter Object를 추출한뒤 .Enable() .Disable() 메서드를 호출 하는 것이다. Set-NetworkAdapterStatus.ps1

Read More