안녕하세요.  IISKOREA 팀블로그의 김효성입니다.
지난번 소개 및 설치편에 이어진 포스팅이 파워쉘에 관한 정보를 모으느라 많이 늦었네요.
파워쉘을 활용한 IIS 관리에 앞서 파워쉘에 대해 좀 더 알기 위해 정리했습니다.
* 정보문화사의 Windows Server 2008 바이블 및 윈도우 파워쉘 사용을 위한 10가지 팁의 내용을 참고하였습니다.

(1) 파워쉘의 특징

- 자동 탭 완성 지원 : 탭을 활용한 자동 완성 기능을 지원합니다.
예) 파워쉘 창을 실행한다 -> Write- 를 입력하고 탭을 누른다. -> 원하는 명령어가 나올때까지 탭을 누른다.

- 파이프라인(|) 지원 : 파이프라인 문자를 사용하여 여러 cmdlet 을 나열하면, 첫 cmdlet 의 출력 개체물을 다음 cmdlet 으로 전달할 수 있습니다.

예) PSH> Get-Content test.txt | Add-Content test2.txt
test.txt 파일의 내용을 파이프(|)를 통해 개체로 전달받아 test2.txt 에 기록한다.

- 대화형 쉘 : 다중 라인 입력 및 세미콜론을 이용한 다중 명령어 지원

다중 라인 입력 지원

예) PSH> "test
>>1
>>2
>>"
>>
test
1
2
큰 따옴표(") 를 사용하여,  다중 라인 입력을 지원한다.(작은 따옴표도 가능)

다중 명령어 지원

예) PSH> dir;ipconfig
현재 디렉토리 내용을 출력하고, 이어서 IP 구성을 출력한다.

이외에도 실행 에러 방지 및 기존 DOS cmd 명령어 지원 등의 많은 특징이 있습니다.

(2) Cmdlet(Command-let) 이란?

Cmdlet 은 파워쉘에서 사용하는 제일 기본적인 명령어 입니다. 명령어는 "동사-명사"의 형태로 되어있고, 대소문자를 구분하지 않습니다. 다음은 Cmdlet 의 기본 구문입니다.

동사-명사 매개변수 인자

다음 통해 cmdlet 의 명령어와 사용법을 알 수 있습니다.

Get-Command -commandtype cmdlet

cmdlets 의 지원되는 명령어를 알 수 있습니다.

Get-Help "명령어" 혹은 "명령어" -?

특정 명령어의 사용법을 알 수 있습니다.

Get-Help "명령어" -detailed

특정 명령어의 상세한 설명을 얻을 수 있습니다.

Get-Help "명령어" -full

특정 명령어의 -detailed 옵션보다 보강된 설명을 얻을 수 있습니다.

(3) .NET 프레임워크 기반의 언어

파워쉘의 설치 조건 중에 .NET 프레임워크 설치가 있는걸 보면 알 수 있듯이 .NET 프레임워크는 파워쉘이 동작하는데 기반이 됩니다. 때문에 cmdlet 의 출력물은 개체이며 아래의 예제처럼 활용 할 수 있습니다.

PSH> $myString="test"
PSH> $myString
test
PSH> $myString.ToUpper()
TEST

추가로 Get-Member 를 활용하여 해당 개체가 제공하는 모든 메서드 및 속성을 알 수 있습니다.

PSH> $myString | Get-Member

(4) 스냅인(Snap-in) 을 이용한 확장

사용자 삽입 이미지
 스냅인이란 파워쉘의 기능 추가를 위해 C# 또는 VB.NET 로 작성된 DLL 입니다. 파웨쉘이 IIS 관리 기능을 제공하기 위해 스냅인을 사용니다.(IIS 7.0 PowerShell Snap-in 의 MSI 파일 설치)

이렇게 파워쉘을 이해할 수 있도록 간략히 정리해 보았습니다. 다음 포스팅은 IIS 7.0 파워쉘 스냅인 설치 및 IIS 7.0 스냅인 명령어를 알아보겠습니다. 그리고 파워쉘에 대한 추가적인 내용은 별도로 포스팅 하도록 하겠습니다.


 

안녕하세요, IISKOREA 팀블로그의 김효성 입니다.

Windows XP 및 2003 에서도 PowerShell 2.0 이 사용 가능 합니다.
(Window 7 및 2008 R2는 기본지원합니다.)

http://support.microsoft.com/kb/968929 

지원 운영체제는

Windows Server 2008 Sp1, Sp2, Sp3
Windows Server 2003 SP2
Windows Vista Sp1, Sp2
Windows XP Sp3


 안녕하세요. IISKOREA 팀블로그의 김효성입니다.

(1) 윈도우, 파워쉘로 자동화를 꿈꾸다.

 윈도우에 있어서 파워쉘에 역활에 대한 정의는 제각각이지만, 저는 윈도우서버 관리의 자동화를 위한 파워쉘이라고 생각합니다. 리눅스 서버를 다루다가 윈도우 서버를 다뤄보면 뭔가의 부재로 불편함을 종종 느끼게 되는데 대부분이 자동화의 불편함에 따른 이슈가 대부분이었습니다.

 물론 윈도우도 배치파일을 활용하거나 어플리케이션 제작을 통한 해결책이 있지만, 배치로는 한계가 있고  어플리케이션 개발은 기회비용이 크게 요구됩니다. 이런 고민을 할때즈음, 우연히 IIS7 에 대한 세미나를 듣다가 파워쉘이라는 것을 알게되었습니다.

 윈도우 파워쉘은 2006년 하반기에 1.0 버전을 발표하였습니다. (제가 최초 파워쉘에 대한 소식을 접하기 딱 2년 전에 발표가 된 것에 놀랐습니다. ^^;;) 현재 파워쉘 1.0 은 윈도우 XP, 2003, 비스타, 2008 에 설치 가능하고, 윈도우7 및 윈도우 2008 R2 부터는 파워쉘 2.0 으로 버전이 올라갑니다.
* 제 포스팅은 윈도우 2008 기준 파워쉘 1.0을 기준으로 작성하겠습니다.

 파워쉘은 리눅스의 쉘처럼 텍스트 기반의 화면에서 시스템 및 서비스 상태를 모니터링 할 수 있고 서비스의 동작을 제어할 수 있으며 레지스트리 값을 수정할 수 있는 환경을 제공하여 줍니다. 이는 더 이상 GUI 기반의 관리 환경에서 벗어나 반복적인 작업에 대한 자동화를 손쉽게 구현할 수 있는 장점으로 승화될 수 있습니다. 또한 다수의 윈도우 서버 관리 시 동일한 환경 구축 및 배포에 있어서 고려할만한 선택권이 생겼다는 의미가 됩니다. 이미 훌륭한 GUI 를 이용한 관리가 가능하지만, 조금이라도 단순 반복 작업을 줄여 줄 수 있다면 사용하는게 좋겠지요?

 자, 파워쉘에 대한 소개는 이 정도로 하고 실제 사용해 볼 수 있도록 환경을 구축하여 보지요.

(2) 파워쉘 on 윈도우2008

 윈도우2008은 기존의 윈도우 서버들과는 달리 모든 서비스 및 기능들이 설치되어있지 않습니다. 파워쉘도 마찬가지구요. 다행히 윈도우2008 에서 파워쉘의 설치는 간단합니다. 다른 서비스들 처럼 서버관리자의 기능 추가 통해 설치가 가능합니다. 아래의 순서로 설치부터 기본 실행까지 따라해 보도록 하세요.
* 화면을 클릭하면, 원본 사이즈로 보실 수 있어요.

1) 서버관리자를 실행한다.
사용자 삽입 이미지

2) 서버관리자의 기능요약탭의 기능추가를 실행하여, Windows Powershell 항목을 체크 후 설치를 진행합니다.
사용자 삽입 이미지
사용자 삽입 이미지

4) 설치가 완료되고, 기능요약에 Windows PowerShell 이 추가되었음을 확인한다.
사용자 삽입 이미지

5) 마지막으로 파워쉘을 실행해 봅니다.
사용자 삽입 이미지
사용자 삽입 이미지

위 처럼 시작메뉴의 프로그램 항목에서 찾아서 실행 가능하고, 실행 기능을 통해 powershell 이란 커맨드로도 실행 가능합니다. 개인적으로는 프로그램 항목에서의 실행이 화면칼라가 마음에 드네요.

 금번 포스팅은 파워쉘의 소개 및 설치까지만 다뤄보았네요. 바로 다음 포스팅을 준비해서 파워쉘을 어떻게 사용하는지 다뤄보도록 하겠습니다~ ^^