본문 바로가기

도서 소개

윈도우 파워셸 3 시작하기(제2판)

 

이 책은 현재 절판입니다. 그간 읽어주셔서 감사드립니다. 

 

아마존 파워셸 부분 No.1 베스트셀러!
국내 최초의 윈도우 파워셸 서적!

 

출판사  제이펍
원출판사  Manning Publications
원서명  Learn Windows PowerShell 3 in a Month of Lunches, Second Edition(원서 ISBN 9781617291081)
저자명  돈 존스, 제프리 힉스
역자명  조인중, 강성용
출판일  2013년 5월 22일
페이지  512쪽
판  형  46배판 변형(188*245), 반양장(Soft Cover)
정  가  28,000원
ISBN  978-89-94506-65-4  부가기호: 93000
키워드  파워쉘 / 도움말 시스템 / 커맨들릿 / 알리아스 / 정규표현식 / WMI / 스크립트 / 서식 / 필터링 / 위치 표시자 / 멀티 태스킹
분야  윈도우 프로그래밍 / 스크립트

 

관련 사이트
원출판사 도서소개 페이지

아마존 도서소개 페이지
원서 공식 지원 사이트

 

관련 포스트
2013/05/15 - [출간전 책소식] - 파워셸 서적 출간 임박입니다!

 

관련 시리즈
■ (없음)

 

소스 코드 다운로드 및 실습 문제 해답(영어)

lunchesv3code.zip
다운로드
Labs.pdf
다운로드

 

 

강의 자료
■ 교재로 채택하신 분들에게는 강의교안을 제작할 수 있는 자료를 보내드리도록 하겠습니다(출판사로 메일이나 전화로 연락주세요).

 

관련 도서
김태용의 리눅스 쉘 스크립트 프로그래밍

 

샘플 챕터(차례를 포함한 앞부속물, 1장 시작하기 전에, 2장 파워셸과의 첫 만남, 3장 도움말 시스템 활용하기, 찾아보기)

윈도우파워셸3시작하기_sample.pdf
다운로드
윈도우파워셸3시작하기_index.pdf
다운로드

 

 

정오표 페이지
■ (등록되는 대로 링크를 걸어드리겠습니다)

 

도서구매 사이트(가나다순)

[강컴]   [교보문고]   [도서11번가]   [반디앤루니스]   [알라딘]   [예스이십사]   [인터파크]

 

도서 소개

아마존 파워셸 분야 No. 1 베스트셀러!

 

파워셸은 윈도우의 거의 모든 부분을 제어하고 자동화할 수 있는 언어이자 관리 셸이다. 파워셸은 명령어를 입력받아 바로 실행할 수 있으며, 익스체인지 서버, IIS, 셰어포인트 서버 같은 윈도우 서버 제품 대부분을 관리하는 스크립트를 작성할 수 있다.

 

이 책은 바쁜 관리자가 쉽게 볼 수 있도록 설계한 튜토리얼이다. 한 달 동안 하루 한 시간만 투자한다면 (점심시간이 가장 적절하겠다) 독자의 업무를 더 쉽게 해줄 실제적인 테크닉을 모두 배울 수 있을 것이며, 일상을 더 여유롭게 만들어줄 것이다. 이 책은 전 판에서 다루지 않았던, 윈도우 8과 윈도우 서버 2012에 맞춰 설계된 파워셸 3의 새로운 기능에 대해 완전히 새로 작성한 두 번째 판이다.

 

이 책의 주요 내용
- 파워셸 기초부터 배우기 – 파워셸에 대한 경험이 없어도 좋다.
- 윈도우 8, 윈도우 서버 2012와 함께 하는 파워셸 3의 새로운 기능을 담았다.
- 모든 장은 각각 한 시간 내에 배울 수 있도록 구성하였다.

 

독자 대상
독자가 윈도우 관리에 대한 경험이 있다면 더욱 좋겠지만, 프로그래밍에 대한 경험은 전혀 없을 것으로 가정하였다.

  • 단순한 명령어만 실행하거나 다른 사람이 만든 프로그램을 사용하는 관리자
  • 명령어와 도구를 조합하여 더 복잡한 프로세스를 만들어 내고, 나아가서 숙련되지 않은
    관리자들이 사용할 수 있도록 패키지화하는 관리자
  • 재사용 가능한 툴과 애플리케이션을 만드는 관리자와 개발자

 

추천사
“환상적으로 유용한 튜토리얼이자 참고서!”
_ 베넷 샤프(Bennett Scharf), 마운틴뷰 서비싱 그룹

 

“이번 2판은 1판보다 훨씬 더 낫다. 반드시 소장해야 할 책!”
_ 데이비드 모라벡(David Moravec), PowerShell.cz

 

“최신 지식을 빠르게 배울 수 있다!”
_ 키스 힐(Keith Hill), 윈도우 파워셸 MVP 테크놀러지

 

“파워셸 학습이 정말 쉬워졌다!”
_ 라제쉬 애탈루리(Rajesh Attaluri), nvestec

 

"파워셸을 배우고자 하는 이들을 위한 최고의 책!"
_ 마이크 로빈슨(Mike F Robbins), 아마존 ★★★★★

 

"이 책을 보기 전에는 파워셸에 대해 아무것도 몰랐다. 지금은 정말 많이 안다!"
_ J. 버크(J. Burke), 아마존 ★★★★★

 

책속으로
설치된 파워셸의 파일 대부분은 1.0이라 이름 붙여진 디렉터리 안에 설치된다. 따라서 사용 중인 파워셸의 버전을 알아내기란 그리 쉽지 않다. 파워셸 v3에서는 버전을 쉽게 확인하기 위한 다음과 같은 방법을 제공한다.

_20

 

파워셸 공급자(혹은 PSProvider)는 일종의 변환기(adapter)이다. 공급자는 일종의 데이터 저장소를 디스크 드라이브처럼 변환해 준다. 아래와 같이 셸에서 시스템에 설치된 공급자 목록을 볼 수 있다.
_67

 

이제 여러분은 기본 서식의 지정 방법과 대부분의 Out- 커맨들릿이 자동으로 서식 시스템을 호출하여 필요한 서식 명령을 얻는다는 것을 알게 되었다. 다음은 서식 시스템을 직접 제어하고 사용자 지정 서식을 사용해 보자.
_162

 

로컬 작업은 온전히 로컬 컴퓨터에서만 동작한다고 설명했고, 실제로도 그렇다. 하지만 작업에 의해 실행되는 명령이 -computerName 매개변수를 지원한다면 원격 컴퓨터에 접근할 수도 있다. 다음 예제를 보자.
_245

 

이전 장에서 저자들은 여러분에게 매개변수화된 멋진 스크립트를 보여주었다. 매개변수화된 스크립트의 개념은 누구라도 스크립트가 담고 있는 내용에 대해서 별 걱정이나 어려움 없이 스크립트를 실행할 수 있다는 것이다. 매개변수화된 스크립트는 지정된 매개변수 인터페이스를 통해 입력을 제공하며, 매개변수화된 것 외에는 변경할 수 없다.
_361


저자 소개
돈 존스(Don Jones)

돈 존스는 다년간 윈도우 파워셸 분야에서 MVP(Most Valuable Professional)로 선정되었다. 마이크로소프트 테크넷 매거진에 윈도우 파워셸 칼럼을 기고하고 있으며, PowerShell.org 블로그를 운영 중이다. 또한, 레드몬드 매거진에서 ‘Decision Maker’ 칼럼과 블로그를 기고하고 있다. 다작 작가로서 2001년 이후 12권 이상의 책을 출간하기도 하였다. 현재, IT 교육 및 전략 컨설팅 회사인 컨센트레이티드 테크놀러지(ConcentratedTech.com)의 대표이사이자 수석 기술 고문으로 재직 중이다. 그가 처음 접한 윈도우 환경의 스크립트 언어는 킥스타트(KiXtart)이었지만, 1995년에는 VBScript를 사용하기 시작했고, ‘Monad’라는 코드 네임으로 알려진 마이크로소프트 제품(나중에 윈도우 파워셸이 됨)의 초기 버전을 최초로 사용한 IT 전문가 중의 한 사람이다. 라스베이거스에 살고 있으며, IT 교육(주로 파워셸)과 각종 IT 콘퍼런스에서의 강연을 위해 전 세계를 여행 중이다.

 

제프리 힉스(Jeffery Hicks)
제프리 힉스는 다년간 윈도우 파워셸 분야의 MVP로 선정되었으며, 마이크로소프트 공인 강사이다. 20년의 경력을 가진 IT 전문가로, 주로 마이크로소프트 서버 제품군에 대한 컨설팅을 수행했다. 최근에는 개인 기고가, IT 트레이너이자 전 세계에 고객을 둔 컨설턴트로 일하고 있다. 그는 MCPMag.com의 인기 칼럼인 ‘Prof. PowerShell’을 기고하고 있으며, Petri IT Knowledgebase의 정식 회원이다. 책을 집필하지 않을 때는 TrainSignal 같은 회사의 교육 동영상을 녹화하거나 포럼에서 사용자들을 돕고 있다. 제프리 힉스의 근황은 블로그(http://jdhitsolutions.com/blog)에서 확인할 수 있다.

 

역자 소개
조인중

소위 SKY라고 불리는 명문 사학 중 하나를 졸업하고도 취업을 하지 못해 허둥대다가 개발자의 길로 잘못(?) 접어들어 12년간 소프트웨어 개발에 매진해왔다. 그리고 장모님이 아실 만한 회사에 다녀야 장가를 갈 수 있을 거라는 생각에 대기업으로 이직하여 결혼에 성공했다. 현재는 SK브로드밴드에서 네트워크 보안 업무를 수행하고 있다. 이 책은 역자의 첫 번역 작품으로, ‘독자들의 뜨거운 관심 속에 오역에 대한 질타가 난무하는 희망찬 악몽’을 곧잘 꾸곤 한다.

 

강성용
청운의 꿈을 안고 마산에서 상경하여 의외로 잘 먹고 잘 살고 있다. 11년간 개발자로 일하다가, 이력서를 잘못 읽은 회사에 SE로 입사하여 발톱을 숨기고 우렁개발자로 지내고 있다. 현재는 게임 개발사인 Syntasia에서 PC 구매대행 업무를 하고 있으며, 이 책은 첫 번역 작품이다. 번역을 하면서 '내 다시는 번역을 하지 않으리'라며 수차례 다짐했지만, 요즘은 또 다른 번역 책을 찾기 위해 두리번거리고 있다.


차례
제1장 시작하기 전에
1.1 파워셸을 선택해야만 하는 이유 2

1.2 누구를 위한 책인가? 4
1.3 이 책의 사용법 5
1.4 실습 환경 구축하기 6
1.5 파워셸 설치하기 7
1.6 온라인 리소스 9
1.7 파워셸로 즉시 효과 보기 9

더보기

제2장 파워셸과의 첫 만남
2.1 파워셸 버전 선택하기 11
2.2 또 다시 타이핑 연습 시간이다 18
2.3 종종 헷갈리는 점 19
2.4 파워셸 버전 확인하기 20
2.5 실습 문제 21
2.6 추가 학습 22

 

 

제3장 도움말 시스템 활용하기
3.1 도움말 시스템: 명령어를 찾는 방법 25

3.2 갱신 가능한 도움말 27
3.3 도움말 확인하기 30
3.4 도움말을 이용해 명령어 찾기 31
3.5 도움말 이해하기 34
3.6 ‘관련 주제’ 도움말 활용하기 42
3.7 온라인 도움말 참조하기 44
3.8 실습 문제 45

 

 

제4장 명령어 실행하기
4.1 스트립팅이 아닌 명령어 실행하기 47
4.2 명령어 구조 해부하기 49
4.3 커맨들릿 명명 규칙 50
4.4 알리아스: 명령어의 별명 51
4.5 매개변수 줄여 쓰기 53
4.6 파워셸의 치트 키: Show-Command 57
4.7 외부 명령어 지원 58
4.8 에러 처리 61
4.9 종종 헷갈리는 점 63
4.10 실습 문제 64

 

 

제5장 공급자 활용하기
5.1 공급자란 무엇인가? 67

5.2 파일시스템은 어떻게 구성되는가? 70
5.3 파일시스템과 다른 데이터 저장소의 비교 72
5.4 파일시스템 탐색하기 73
5.5 와일드카드와 리터럴 패스 사용하기 75
5.6 다른 공급자 사용하기 77
5.7 실습 문제 81
5.8 추가 학습 82

 

 

제6장 파이프라인: 명령 연결
6.1 서로 다른 명령 연결하기: 효율적으로 일하기 83
6.2 CSV 파일 또는 XML 파일로 내보내기 84
6.3 파일이나 프린터로 연결하기 90
6.4 HTML로 변환하기 92
6.5 시스템 제어 커맨들릿 사용하기: 프로세스와 서비스 중단하기 93
6.6 종종 헷갈리는 점 95
6.7 실습 문제 97

 

 

제7장 명령어 추가하기
7.1 하나의 셸에서 모든 것 다루기 99
7.2 제품에 특화된 ‘관리 셸’ 100
7.3 확장: 스냅인 검색 및 추가하기 101
7.4 확장: 모듈 검색 및 추가하기 104
7.5 명령어 충돌과 확장 삭제하기 107
7.6 새 모듈 활용하기 108
7.7 프로파일 스크립트: 파워셸 시작 시 미리 확장 로드하기 111
7.8 종종 헷갈리는 점 113
7.9 실습 문제 113

 

 

제8장 객체: 데이터의 또 다른 이름
8.1 객체란 무엇인가? 115
8.2 파워셸이 객체를 사용하는 이유 117
8.3 객체 검색: Get-Member 119
8.4 객체 특성과 속성 121
8.5 객체의 동작과 메서드 122
8.6 객체 정렬 124
8.7 필요한 속성 선택하기 125
8.8 끝까지 유지되는 객체 126
8.9 종종 헷갈리는 점 129
8.10 실습 문제 129

 

 

제9장 파이프라인 더 깊이 파고들기
9.1 파이프라인: 더 적은 타이핑으로 효율적으로 일하기 131
9.2 파이프라인으로 데이터를 전달하는 방법 132
9.3 플랜 A: ByValue를 이용한 파이프라인 입력 133
9.4 플랜 B: ByPropertyName을 이용한 파이프 입력 136
9.5 필요한 속성이 없을 때 사용자 정의 속성 활용 방법 141
9.6 삽입 명령 145
9.7 속성에서 값 추출하기 146
9.8 실습 문제 153
9.9 추가 학습 155

 

 

제10장 서식 지정하기 — 서식은 오른쪽에서 적용된다
10.1 서식: 좀 더 깔끔하게 만들기 157

10.2 기본 서식은 어떻게 적용되는가? 158
10.3 테이블에 서식 적용하기 162
10.4 리스트 서식 만들기 164
10.5 폭 넓은 서식 만들기 165
10.6 사용자 지정 칼럼과 리스트 항목 166
10.7 파일이나 프린터 또는 호스트로 출력하기 169
10.8 또 다른 출력: GridViews 170
10.9 종종 헷갈리는 점 171
10.10 실습 문제 175
10.11 추가 학습 175

 

 

제11장 필터링과 비교
11.1 셸에서 필요한 것만 가져오기 177
11.2 좌편향 필터링 178
11.3 비교 연산자 179
11.4 파이프라인에서 객체 필터링하기 182
11.5 반복적 커맨드라인 모델 183
11.6 종종 헷갈리는 점 186
11.7 실습 문제 188
11.8 추가 학습 188

 

 

제12장 실용적으로 쉬어 가기
12.1 작업 정의하기 189
12.2 적절한 명령 찾기 190
12.3 명령어 사용법 배우기 193
12.4 자율 학습을 위한 팁 198
12.5 실습 문제 199

 

 

제13장 원격 제어: 일대일, 일대다 방식
13.1 원격 파워셸의 배경 사상 202

13.2 WinRM 개요 203
13.3 Enter-PSSession과 Exit-PSSession을 활용한 일대일 리모팅 208
13.4 Invoke-Command를 이용한 일대다 리모팅 211
13.5 원격 명령과 로컬 명령의 차이 214
13.6 잠깐, 끝이 아니다 220
13.7 리모팅 옵션 220
13.8 종종 헷갈리는 점 221
13.9 실습 문제 222
13.10 추가 학습 223

 

 

제14장 WMI 사용하기
14.1 WMI 기초 225
14.2 안 좋은 소식 228
14.3 WMI 탐색하기 229
14.4 무기를 선택하라: WMI 또는 CIM 233
14.5 Get-WmiObject 사용하기 234
14.6 Get-CimInstance 사용하기 239
14.7 WMI 문서 240
14.8 종종 헷갈리는 점 240
14.9 실습 문제 241
14.10 추가 학습 242

 

 

제15장 백그라운드 작업을 이용한 멀티태스킹
15.1 파워셸로 동시에 여러 일 하기 243

15.2 동기 대 비동기 244
15.3 로컬 작업 만들기 245
15.4 WMI로 작업 실행하기 246
15.5 작업으로 리모팅 실행하기 248
15.6 작업 실행 결과 보기 249
15.7 자식 작업 다루기 253
15.8 작업 관리 명령 255
15.9 예약된 작업 258
15.10 종종 헷갈리는 점 260
15.11 실습 문제 262

 

 

제16장 여러 객체를 한 번에 하나씩 다루기
16.1 대량 관리를 위한 자동화 263
16.2 기본적인 방법: 배치(batch) 커맨들릿 264
16.3 WMI를 이용하는 방법: WMI 메서드 호출하기 266
16.4 대안: 객체 열거하기 272
16.5 종종 헷갈리는 점 277
16.6 실습 문제 282

 

 

제17장 보안 경고
17.1 파워셸을 안전하게 실행하기 283

17.2 윈도우 파워셸의 보안 목표 284
17.3 실행 정책과 코드 사인 286
17.4 기타 보안 장치 292
17.5 다른 보안 취약점은 없는가? 294
17.6 보안 권고 사항 295
17.7 실습 문제 296

 

 

제18장 변수: 뭐든 저장해 보자
18.1 변수란 무엇인가? 297

18.2 변수에 값 저장하기 298
18.3 변수 사용하기: 따옴표를 사용한 재미난 트릭 301
18.4 많은 객체를 변수에 저장하기 304
18.5 큰따옴표를 이용한 더 많은 트릭 310
18.6 변수 타입 선언 312
18.7 변수 제어 명령 316
18.8 변수 사용의 모범적인 사례 317
18.9 종종 헷갈리는 점 317
18.10 실습 문제 318
18.11 추가 학습 318

 

 

제19장 입력과 출력
19.1 정보 입력받기와 표시하기 319

19.2 Read-Host 320
19.3 Write-Host 324
19.4 Write-Output 326
19.5 결과를 표시하는 다른 방법 328
19.6 실습 문제 329
19.7 추가 학습 330

 

 

제20장 세션 기반의 원격 제어
20.1 파워셸 원격을 조금 쉽게 만들기 331
20.2 재사용 세션을 만들고 사용하기 332
20.3 Enter-PSSession 커맨들릿으로 세션 사용하기 334
20.4 Invoke-Command 커맨들릿으로 세션 사용하기 337
20.5 암시적 원격: 암시적 세션 338
20.6 끈어진 세션 340
20.7 실습 문제 343
20.8 추가 학습 344

 

 

제21장 이것을 과연 스크립팅이라고 할 수 있는가?
21.1 프로그래밍이 아닌, 배치 파일에 가까운 스크립트 작성 345

21.2 명령 재사용하기 346
21.3 명령을 매개변수화하기 348
21.4 매개변수화된 스크립트 만들기 349
21.5 스크립트에 도움말 추가하기 351
21.6 하나의 스크립트, 하나의 파이프라인 354
21.7 범위의 개요 357
21.8 실습 문제 360

 

 

제22장 매개변수가 있는 스크립트 개선하기
22.1 출발점 361
22.2 파워셸로 어려운 문제 해결하기 363
22.3 필수 매개변수 만들기 364
22.4 매개변수 알리아스 추가하기 367
22.5 매개변수 입력 유효성 검사 368
22.6 친절하고 알기 쉬운 출력 추가하기 370
22.7 실습 문제 372

 

 

제23장 고급 리모팅 설정
23.1 다른 종단점 사용하기 373
23.2 사용자 정의 종단점 만들기 375
23.3 멀티홉 리모팅 활성화 380
23.4 리모팅 인증 심층 탐구 381
23.5 실습 문제 384

 

 

제24장 정규표현식을 이용한 텍스트 파일 구문 분석
24.1 정규표현식의 목적 386
24.2 정규식 구문의 핵심 386
24.3 -Match 연산자와 정규식 사용하기 388
24.4 Select-String 연산자와 정규식 사용하기 389
24.5 실습 문제 392
24.6 추가 학습 393

 

 

제25장 추가 팁, 트릭, 기법들
25.1 프로파일, 프롬프트, 컬러: 셸 커스터마이징 395
25.2 연산자: -as, -is, -replace, -join, -split, -in, -contains 401
25.3 문자열 다루기 405
25.4 날짜 다루기 407
25.5 WMI 날짜 다루기 409
25.6 매개변수 기본 값 설정하기 411
25.7 스크립트 블록 다루기 412
25.8 추가 팁, 트릭, 기법 413

 

 

제26장 다른 사용자의 스크립트 사용하기
26.1 스크립트 416

26.2 한 줄씩 따라하기 422
26.3 실습 문제 423

 

 

제27장 끝이 아니다
27.1 탐구할 주제에 대한 제언 427
27.2 ‘이 책을 다 학습했어요. 이제 뭘 해야 하죠?’ 428
27.3 추천할 만한 리소스 429

 

 

제28장 파워셸 컨닝 페이퍼
28.1 특수문자 431

28.2 도움말 파일 435
28.3 연산자 436
28.4 사용자 지정 속성 및 칼럼 구문 437
28.5 파이프라인 매개변수 입력 438
28.6 $_ 위치 표시자는 언제 사용할 수 있나? 439

 

 

부록 A 복습 문제
A.1 복습 문제 1: 1-6장 441
A.2 복습 문제 2: 1-14장 445
A.3 복습 문제 3: 1-19장 448

 

 

찾아보기 450