From the Back Cover **Professional Windows PowerShell Programming** **Snap-ins, Cmdlets, Hosts, and Providers** Providing you with the programmer's approach to understanding Windows PowerShell, this book introduces you to the concepts, components, and development techniques for building software packages that leverage the power of PowerShell. This author team of PowerShell experts shows you how PowerShell makes writing code easy by providing a runtime engine with its own parser, and you'll see how PowerShell offers functionality that enables you to add custom formatting when objects are displayed. You'll find out how PowerShell's robust SDK allows you to take advantage of PowerShell within your own applications. Plus, you'll discover that with PowerShell, all of the .NET Framework objects become accessible via scripting, making PowerShell a very powerful addition to your toolbox and a popular choice for future development. Once you begin performing the tasks associated with writing command-line utilities, you'll quickly learn how PowerShell permits you to direct your attention to the business logic of your applications. **What you will learn from this book** * How to create a PowerShell snap-in * Writing your own custom cmdlets * Creating custom providers * Calling to the PowerShell execution engine * Implementing a host user interface * Extending types and formatting **Who this book is for** This book is for developers and programmers who want to extend the functionality of Windows PowerShell technologies and extend their applications by using PowerShell. **Wrox Professional guides** are planned and written by working programmers to meet the real-world needs of programmers, developers, and IT professionals. Focused and relevant, they address the issues technology professionals face every day. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job. About the Author **Arul Kumaravel** is currently the Development Manager of the Windows PowerShell team. He has worked with this team since its early days and led the team in shipping of version 1 of the product, and is presently leading the development of next version of PowerShell. Fascinated by computers from an early age, when he first learned programming using BASIC, he went on to get his Master of Science degree in Computer Science from both the College of Engineering, Madras, India, and the University of Iowa. As a Microsoft intern, he wrote the first JavaScript/VBScript debugger for Internet Explorer 3, and was impressed by the potential to make a difference in millions of people’s lives by working for Microsoft. He has been working at Microsoft for the past 11 years in various groups, shipping multiple versions of products, including Internet Explorer, the Windows operating system, and Content Management Server, and has even dabbled with Software as a Service with small business online services. More recently, attracted by the business side of technology, Arul has taken on the arduous task of pursuing his M.B.A. at the Wharton Business School. He can be reached at
[email protected]. **Jon White** is a software engineer who lives and works in the idyllic surroundings of Seattle’s eastern suburbs. An original member of the PowerShell team at Microsoft, his professional career started in the Administrative Tools group in Windows Server. As a hobbyist, Jon learned programming in his early teens after his father bought an 8088-based PC clone at a second-hand shop. The PC came with MS-DOS 2.0, which featured debug.exe with a 16-bit disassembler, but no assembler. As a result, Jon’s first dive into programming was disassembling long tables of bytes to create a reverse-lookup dictionary for manually converting assembly programs into executable binary code. Coincidentally, later in life he filed the bug which removed debug.exe from 64-bit Windows. As a member of the PowerShell team, he wrote the language’s first production script, when he converted the team’s test harness from Perl to PowerShell script in 2004. When he’s not working (or writing about work) he’s either sailing or playing with fire in the backyard. You can contact him at
[email protected]. **Michael Naixin Li** is the Senior Test Lead working on the Windows PowerShell team and currently oversees the testing of Windows PowerShell 2.0. Before Windows PowerShell, Michael worked on various major projects at Microsoft, including the development of MSN 1.x and 2.x, quality management for the COM Services component in Windows 2000, NetDocsWeb Client Access, Web Services in Hailstorm, and Software Licensing Service in Windows Vista. Before joining Microsoft, Michael was an assistant professor at Shanghai University of Science and Technology (now called Shanghai University). He holds a Ph.D. in Computer Science from Colorado State University. **Scott Happell** has been working as a software engineer and tester for 10 years. Three of those years have been on the Windows PowerShell team, which was what brought him to Microsoft from New Jersey, where he worked at an Internet startup that went belly-up. Scott recently left Microsoft to become a recording engineer/rock star and is trying to find cool ways to use PowerShell to help him create music. **George Xie** was a Senior Developer in the Windows PowerShell team for three years, mainly focusing in the area of snap-in model and scripting language. Recently George joined Windows Mobile organization for the Mobile Device Management product. Before joining Microsoft, George worked for Siebel Systems Inc. for several years. **Krishna Chythanya Vutukuri** is a Software Developer working on theWindows PowerShell team. Before Windows PowerShell, Krishna worked on various projects atMicrosoft, which included the development of Windows Presentation Foundation. Before joining Microsoft, Krishna held various product development positions at Hewlett-Packard India Software Operations and Wipro Technologies. He holds a M.Sc (Tech.) in Information Systems from Birla Institute of Technology and Science, Pilani, India.