Datasheet
16 CHAPTER 1
•
WHAT IS POWERSHELL, AND WHY DO YOU NEED IT?
that developers can work with, making it that much more powerful and bene cial
in your workplace. PowerShell is another development platform you can use to
automate many tasks via code. A er you have the foundational knowledge pre-
sented throughout this book, looking at the programmatic side of PowerShell will
allow you to take PowerShell to another level.
PowerShell provides you with a lightweight (when compared to Visual Studio or
other developer tools) programmatic interface. Many of the applications utilizing
PowerShell have a core set of APIs accessible with PowerShell. ere are features that
were designed in PowerShell 2.0, such as transactions, geared to be used in code.
For those who are new to development and unfamiliar with the basic concepts
of objects and properties, Appendix B explores objects and properties from a
PowerShell perspective.
It may seem odd to develop on the command prompt. PowerShell has many tools
to be able to extend the language into your developers’ code. e ISE allows you to
create full and robust scripts using PowerShell, with some familiar keyboard com-
mands from Visual Studio. Not only does PowerShell have the tools, but it also has
been designed to write your own advanced functions and cmdlets using program-
matic logic and constructs at the command prompt. Appendix D covers working
with advanced functions and cmdlets.
Being able to program with PowerShell allows you to create and work with your
own providers. ere are many providers built into your systems, but you may
have a particular scenario where there is a gap and PowerShell does not have a
tool set to help you. You can create your own custom providers, like the develop-
ers did for Hyper-V. ese providers allow you to access data stored inside data
stores such as the registry environment variables and certi cate stores easier than
former methods with a command line. Appendix C provides a guide for creating
custom providers. PowerShell also provides the necessary tools and framework to
be able to deploy the custom tools you create in your infrastructure. In PowerShell
v1.0, these were called snap-in s; in PowerShell 2.0, module s make this even easier
to do. Appendix E explains how to work with existing snap-ins and how to create
your own.
Lastly, you can create GUIs in PowerShell. Whether you want to take advantage of
Windows Presentation Foundation (WPF), with the separation of design and code,
or continue the look of legacy applications with Windows Forms (WinForms),
PowerShell allows you to work with both of these technologies. Although it is
c01.indd 16c01.indd 16 4/18/2011 10:27:19 AM4/18/2011 10:27:19 AM