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










