xx
PREFACE
novel ways. This kind of novelty leads to misunderstandings which then turn into 
urban myths, like PowerShell does 
X
because its designers were kitten-eating aliens. 
(Trust me—we’re not.)  
As we showed our work to the world I found that there were a number of questions 
that were being asked over and over again. These questions would usually arise as a 
result of some prior language experience that the user had. Typically a simple expla-
nation was all it took to clear up the confusion. Unfortunately we couldn’t keep 
answering these questions over and over on a one-by-one basis; that just couldn’t scale. 
There needed to be a way to gather this information together in one place. The book 
was my attempt to address that problem, and the second edition continues on with 
this goal.
I continue to be amazed at just how much power comes out of the synergy of the 
various technologies underlying PowerShell. We see this in our own internal uses of 
PowerShell at Microsoft as well as in what the community has done with it. And so 
a second goal of this book was to try and foster that creativity by conveying just how 
capable PowerShell is. 
And finally, this is the book I wanted to read. I love programming languages and 
the best books are the ones that explain not only what but also why. Look at the books 
that continue to sell year after year: Kernighan and Ritchie’s The C Programming Lan-
guage, Stroustrup’s book on 
C
++, and Ousterhout’s book on 
TCL
. The 
TCL
book in 
particular describes a very early version of the 
TCL
language, has never been updated, 
and yet it continues to sell. Why? Because these books give the reader something more 
than just technical detail. They convey a sense of the overall design and some element 
of the intent of the designer. (Let me know if I succeeded, okay?)
Change pdf page order - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
reorder pages in pdf preview; pdf reorder pages online
Change pdf page order - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
change page order pdf; reverse page order pdf
xxi
acknowledgments
First and foremost, this book is for my wife Tina. I could not have done it without 
her patience, support, and encouragement. She kept me fed and sane, and she even 
read early drafts of material about which she knows nothing. Now that’s support! She 
also contributed the Gnome picture in chapter 21 and the bird-watching information 
and pictures in chapter 2. And I can now recognize the call of the California quail.
Thanks to my parents for their love and support over the years. Yes, I am finally 
done with the second edition!
Of course, there wouldn’t be a PowerShell book without a PowerShell product in 
the first place and PowerShell wouldn’t exist without the vision of its chief architect 
Jeffrey Snover. He was kind enough to do extensive reviews of both editions of the 
book. The book, like the product, has benefited greatly from his insight and sugges-
tions.
PowerShell v2 would also not have been possible without the continued efforts on 
the part of Kenneth Hansen, lead Program Manager of the PowerShell team. Kenneth 
provided most of the day-to-day leadership during the Version 2/Windows 7 release 
cycle. He continues to be one of the strongest advocates for the customer that I’ve seen 
at Microsoft.
I’d like to thank the following PowerShell team members who took time to review 
specific chapters: Jason Shirk, who implemented most (all?) of the advanced function 
features in v2, reviewed chapters 7 and 8. Refaat Issa and Lucio Silveira, who were 
responsible for the design (Refaat) and implementation (Lucio) of the 
ISE
, reviewed 
chapter 15 which covers the 
ISE
.
To all of the 
MEAP
readers and reviewers, many thanks for your feedback. I’ve 
incorporated as much of it as possible (boy, I make a lot of typos). In particular, I’d 
like to thank the following: Peter Johnson, Jonathan Medd, Sam Abraham, Andrew
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Convert Jpeg to PDF; Merge PDF Files; Split PDF Document; Remove Password from PDF; Change PDF Permission Settings. C# File: Split PDF; C# Page: Insert PDF pages
rearrange pages in pdf file; switch page order pdf
VB.NET PDF File & Page Process Library SDK for vb.net, ASP.NET
VB.NET PDF - How to Modify PDF Document Page in VB.NET. VB.NET Guide for Processing PDF Document Page and Sorting PDF Pages Order.
how to reorder pages in pdf reader; change pdf page order preview
xxii
ACKNOWLEDGMENTS
Tearle, Keith Hill, Richard Siddaway, Paul Grebenc, Kirk Freiheit, Tony Niemann, 
Amos Bannister, Jeff Copeland, Marcus  Baker, Massimo Perga, Tomas Restrepo, 
Jason Zions, Oisin Grehan, Kanwal Khipple, Brandon Shell, Bernd Schandl, and 
Matthew Reynolds. Thanks to all of you for your patience. This book took way, way 
too long to complete.
Finally, special thanks to all of the people who piled on at the end of the project 
to finally get it done: Cynthia Kane, my development editor, who is still talking to me 
(I think), even after all of the missed deadlines; also Liz Welch, Mary Piergies, Tiffany 
Taylor, and everyone else at Manning who helped get this book out the door. All I 
can say is thanks, and thanks again. 
And more super-special thanks to three of our wonderful PowerShell 
MVP
s who 
helped enormously with the final reviews. Marco Shaw was the technical proofreader 
who read the chapters during production. Jeffrey Hicks, a fine author in his own right, 
helped with the last set of “author” reviews. And Aleksandar Nikolic´ went above and 
beyond  the  call,  turning  around reviewed chapters  stunningly quickly, and  then 
reviewing the reviews! Dude, you’re a lifesaver!
C# PowerPoint - Sort PowerPoint Pages Order in C#.NET
control, developers can swap or adjust the order of all or several PowerPoint document pages, or just change the position of certain one PowerPoint page in an
how to rearrange pages in pdf document; how to rearrange pdf pages reader
C# Word - Sort Word Pages Order in C#.NET
library control, developers can swap or adjust the order of all or several Word document pages, or just change the position of certain one Word page in an
reorder pages in a pdf; pdf change page order
xxiii
about this book
Windows PowerShell is the next-generation scripting environment created by Micro-
soft. It’s designed to provide a unified solution for Windows scripting and automa-
tion, able to access the wide range of technologies such as .
NET
COM
, and 
WMI 
through a single tool. Since its release in 2006, PowerShell has become the central 
component of any Windows management solution. In addition, due to PowerShell’s 
comprehensive support for .
NET
, it also has broad application potential outside of the 
system  administration  space.  PowerShell can be  used  for  text  processing, general 
scripting, build management, creating test frameworks, and so on.
This book was written by one of the principal creators of PowerShell to enable users 
to get the most out of the PowerShell environment. Using many examples, both small 
and large, this book illustrates the features of the language and environment and shows 
how to compose those features into solutions, quickly and effectively.
Note that, because of the broad scope of the PowerShell product, this book has a 
commensurately broad focus.  It was not designed as a cookbook of pre-constructed 
management  examples, like how  to deal  with  Active Directory  or how  to script 
Exchange. Instead it provides information about the core of the PowerShell runtime 
and how to use it to compose solutions the “PowerShell Way.” After reading this book, 
the PowerShell user should be able to take any example written in other languages like 
C
# or Visual Basic and leverage those examples to build solutions in PowerShell.
Who should read this book?
This book is designed for anyone who wants to learn PowerShell and use it well. 
Rather than simply being a book of recipes to read and apply, this book tries to give
C# TIFF: How to Reorder, Rearrange & Sort TIFF Pages Using C# Code
C# users to reorder and rearrange multi-page Tiff file Tiff image management library, you can easily change and move pages or make a totally new order for all
move pdf pages online; how to move pages around in pdf
C# Word - Process Word Document in C#
various Word document processing implementations using C# demo codes, such as add or delete Word document page, change Word document pages order, merge or
how to rearrange pages in pdf using reader; reverse pdf page order online
xxiv
ABOUT THIS BOOK
the reader a deep knowledge about how PowerShell works and how to apply it. As a 
consequence, all users of PowerShell should read this book.
So, if you’re a Windows sysadmin, this book is for you. If you’re a developer and 
you need to get things done in a hurry, if you’re interested in .
NET
, or just if you like 
to experiment with computers, PowerShell is for you and this book is for you.
Roadmap
The book is divided into two major parts plus four appendixes (which are available 
online from the publisher’s website). The two parts of the book are “Learning Power-
Shell” and “Using PowerShell.”
Part 1, “Learning PowerShell,” is a comprehensive tour of the PowerShell language 
and runtime. The goal is to introduce new PowerShell users to the language as well 
as to provide experienced users with a deep insight into how and why things are the 
way they are.
In part 1, we look at all aspects of the PowerShell language including the syntax, 
the type system, and so on. Along the way we present examples showing how each fea-
ture works. Because the goal of the first part of the book is to focus on the individual 
features of the environment, most of the examples are quite small and are intended to 
be entered in an interactive session. The second part of this book focuses on larger 
examples that bring the individual features together to build larger applications.
Chapter 1 begins with some history and the rationale for why PowerShell was cre-
ated in the first place. It then proceeds through a quick tour of the features of the envi-
ronment.  The remaining chapters in  part  1 cover  each element of the language, 
starting with basic PowerShell concepts in chapter 2.
Chapter 3 introduces the PowerShell type system and discusses its relationship to 
.
NET
. This chapter also presents the syntax for each of the PowerShell literal data types.
The discussion of operators and expressions (PowerShell has lots of these) begins in 
chapter 4 which covers the basic arithmetic, comparison, and assignment operators. 
It also covers the wildcard and regular expression pattern matching operators.
Chapter 5 continues the discussion of operators with the advanced operations for 
working with arrays (indexing, slicing) and objects (properties and methods). It also 
covers output redirection and the formatting operator, and introduces PowerShell 
variables.
Chapter 6 covers the PowerShell language constructs like 
if
statements and loops. 
Chapter 7 introduces programming in PowerShell and covers basic functions, vari-
able scoping, and other programming-related topics. 
Chapter 8 builds on the material in chapter 7, covering advanced function meta-
data, scripting, and how to create in-line documentation for scripts and functions.
Chapter 9 covers the basics of how to use PowerShell modules and how to create 
your own basic modules.
C# PDF: C# Code to Process PDF Document Page Using C#.NET PDF
Enable C#.NET developers to change the page order of source PDF document file; Allow C#.NET developers to add image to specified area of source PDF document
pdf rearrange pages; pdf page order reverse
C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net
the robust functionality to copy and paste PDF page(s) in C#.NET document imaging application. C#.NET Project DLLs: Copy and Paste PDF Pages. In order to run
how to rearrange pdf pages; how to rearrange pages in a pdf file
ABOUT THIS BOOK
xxv
Chapter 10 looks at more advanced module features covering module manifests 
and how to use them to add information like a version number, dependences, and 
nested modules.
Chapter 11 builds on the material in chapters 7–10, introducing advanced pro-
gramming techniques like object construction and extensions. It also covers first-class 
functions (scriptblocks) and shows how to extend the PowerShell language itself using 
these features.
Chapter 12 introduces PowerShell remoting, starting with basic configuration and 
setup. It then covers the various forms of remoting (interactive and non-interactive) 
and how to apply these techniques.
Chapter 13 explores remoting and the underlying protocols in more detail. Creation 
of custom remoting endpoints, including constrained endpoints, is included as well.
Chapter 14 covers the PowerShell Integrated Scripting Environment 
(ISE)
. This 
coverage includes basic editor operation and the debugger (graphics and command 
line), and looks briefly at the 
ISE
extension model which allows you to do things like 
add custom menu items to the 
ISE
.
Chapter 15 completes part 1, covering the various features available in PowerShell 
for handling errors and debugging scripts.
In part 2 of the book, “Using PowerShell,” we shift our focus from individual fea-
tures towards combining those features into larger examples. This part of the book 
looks at applying PowerShell in specific technology areas and problem domains. 
We begin in chapter 16 looking at how PowerShell can be used to attack the kind 
of text processing tasks that have traditionally been the domain of languages like Perl. 
This  chapter  begins  with  basic  string  processing,  then introduces  file  processing 
(including handling binary files), and finishes up with a section on working with 
XML 
documents.
Then, in chapter 17, we look at how we can explore and apply the vast capabilities 
of the .
NET
framework.  We cover locating, exploring, and instantiating types in the 
.
NET
framework, including generic types. Then we look at a number of applications 
using these types, including network programming and graphical programming with 
WinForms and 
WPF
.
In chapter 18 we look at how to work with 
COM
objects. This includes using the 
application  automation  models  to  script  applications  like  Microsoft  Word  with 
PowerShell. 
Chapter 19 covers Windows Management Instrumentation 
(WMI)
and Web Ser-
vices for Management (
WS
-
M
an). We look at how to use 
WMI
from the command 
line and in scripts to inspect, update, and manage a Windows system. 
Chapter 20 looks at the asynchronous eventing subsystem in PowerShell. Eventing 
allows PowerShell scripts to respond to external events in real time—an important 
characteristic in systems automation.
xxvi
ABOUT THIS BOOK
Finally, in chapter 21, we introduce the security features in PowerShell along with 
a general discussion of security. This is a very important chapter to read. Like all pow-
erful scripting tools (Perl, Python, and so on), PowerShell can be used to create mal-
ware-like virus and worm programs. The PowerShell runtime contains a number of 
features to allow you to deploy it in a manner that minimizes these risks.
In addition, there are four appendixes, available online from the publisher’s website 
at www.manning.com/WindowsPowerShellinActionSecondEdition
Appendix A compares and contrasts PowerShell with other languages that the 
reader may already know. This appendix tries to highlight similarities and the impor-
tant differences with each of the languages. 
Appendix B includes more examples showing how to apply PowerShell to solve 
problems. While it’s by no means a complete management cookbook, it does show 
what can be done with PowerShell and how to do it. 
Appendix C is a PowerShell quick reference that condenses much of the content 
of the book into a relatively short quick-reference document. Finally, appendix D con-
tains information about a number of additional, less commonly used features and 
techniques in PowerShell. 
Code conventions
Because PowerShell is an interactive environment, we show a lot of example com-
mands as the user would type them, followed by the responses the system generates. 
Before the command text there is a prompt string that looks like this: 
PS (2) >. 
Fol-
lowing the prompt, the actual command is displayed. PowerShell’s responses follow 
on the next few lines. Because PowerShell doesn’t display anything in front of the out-
put lines, you can distinguish output from commands by looking for the prompt 
string. These conventions are illustrated as follows:
PS (1) > get-date
Sunday, October 08, 2006 11:24:42 PM
Sometimes commands will span multiple lines. In this case subsequent lines of user 
input will be preceded by 
>>
as shown:
PS (2) > 1..3 | 
>> foreach {"+" * $_} 
>> 
++ 
+++ 
PS (4) >
Note that the actual prompt sequence you see in your PowerShell session will be 
somewhat different than what is shown in the book. The prompt display is user-
controllable by redefining the “prompt” function (see appendix A section 1.8 for
ABOUT THIS BOOK
xxvii
more information). For this book, a prompt sequence was chosen that includes com-
mand numbers to make it easier to follow the examples.
Code annotations accompany many of the listings, highlighting important con-
cepts. In some cases, numbered bullets link to explanations that follow the listing.
Source code downloads
Source code for all working examples in this book is available for download from the pub-
lisher’s website at www.manning.com/WindowsPowerShellinActionSecondEdition.
Author Online
Purchase of Windows PowerShell in Action, Second Edition includes free access to a pri-
vate web forum run by Manning Publications where you can make comments about 
the book, ask technical questions, and receive help from the author and from other 
users. To access the  forum and subscribe  to it,  point your web browser  to www 
.manning.com/WindowsPowerShellinActionSecondEdition. This page provides 
information on how to get on the forum once you are registered, what kind of help is 
available, and the rules of conduct on the forum.
Manning’s commitment to our readers is to provide a venue where a meaningful 
dialog between individual readers and between readers and the author can take place. 
It is not a commitment to any specific amount of participation on the part of the 
author, whose contribution to the 
AO
remains voluntary (and unpaid). We suggest 
you try asking the author some challenging questions lest his interest stray!
The Author Online forum and the archives of previous discussions will be acces-
sible from the publisher’s website as long as the book is in print.
About the author
Bruce Payette is one of the founding members of the Windows PowerShell team. He 
is co-designer of the PowerShell language along with Jim Truher and the principal 
author of the language implementation. He joined Microsoft in 2001 working on 
Interix, the 
POSIX
subsystem for Windows, then moved to help found the Power-
Shell project shortly after that. Prior to joining Microsoft, he worked at various com-
panies including Softway (the creators of Interix) and 
MKS
(producers of the 
MKS 
T
oolkit) building 
UNIX
tools for Windows. He lives in Bellevue, Washington, with 
his wife, many computers, and two extremely over-bonded codependent cats.
About the title
By combining introductions, overviews, and how-to examples, the In Action books 
are designed to help learning and remembering. According to research in cognitive 
science, the things people remember are things they discover during self-motivated 
exploration.
xxviii
ABOUT THIS BOOK
Although no one at Manning is a cognitive scientist, we are convinced that for 
learning to become permanent it must pass through stages of exploration, play, and, 
interestingly, retelling of what is being learned. People understand and remember new 
things, which is to say they master them, only after actively exploring them. Humans 
learn in action. An essential part of an In Action book is that it is example driven. It 
encourages the reader to try things out, to play with new code, and explore new ideas.
There is another, more mundane, reason for the title of this book: our readers are busy. 
They use books to do a job or solve a problem. They need books that allow them to jump 
in and jump out easily and learn just what they want just when they want it. They need 
books that aid them in action. The books in this series are designed for such readers.
xxix
about the cover illustration
The figure on the cover of Windows PowerShell in Action, Second Edition is a “Mufti,” 
the chief of religion or the chief scholar who interpreted the religious law and whose 
pronouncements on matters both large and small were binding to the faithful. The 
illustration is taken from a collection of costumes of the Ottoman Empire published 
on January 1, 1802, by William Miller of Old Bond Street, London. The title page is 
missing from the collection and we have been unable to track it down to date. The 
book’s table of contents identifies the figures in both English and French, and each 
illustration bears the names of two artists who worked on it, both of whom would no 
doubt be surprised to find their art gracing the front cover of a computer program-
ming book...two hundred years later.
The collection was purchased by a Manning editor at an antiquarian flea market 
in the “Garage” on West 26th Street in Manhattan. The seller was an American based 
in Ankara, Turkey, and the transaction took place just as he was packing up his stand 
for the day. The Manning editor did not have on his person the substantial amount 
of cash that was required for the purchase and a credit card and check were both 
politely turned down. With the seller flying back to Ankara that evening the situation 
was getting hopeless. What was the solution? It turned out to be nothing more than 
an old-fashioned verbal agreement sealed with a handshake. The seller simply pro-
posed that the money be transferred to him by wire and the editor walked out with 
the bank information on a piece of paper and the portfolio of images under his arm. 
Needless to say, we transferred the funds the next day, and we remain grateful and 
impressed by this unknown person’s trust in one of us. It recalls something that might 
have happened a long time ago.
The pictures from the Ottoman collection, like the other illustrations that appear 
on our covers, bring to life the richness and variety of dress customs of two centuries
Documents you may be interested
Documents you may be interested