Preface
PowerShell is quickly becoming the language of choice to support Microsoft systems in organizations. With Microsoft's deep integration of PowerShell in all of their software and cloud services, scripting knowledge will be a required skill set in the years to come. Even third-party vendors are creating modules or plugins to extend the PowerShell manageability of their systems. As a result, organizations are relying on their cross-platform engineers to automate systems through the use of PowerShell.
When you are implementing PowerShell scripts in enterprise environments, there are many common challenges that need to be solved. Robust logging functions, for example, are typically required to ensure that the script ran successfully and as intended. You may also need to implement a string encryption strategy to encrypt credentials, server host names, IP addresses, or other sensitive data. Further more, script execution speed may also take some consideration when processing large sets of data. You will want to ensure you are leveraging the fastest coding methods possible to optimize your scripting performance.
All of these challenges, and many more, can be solved by leveraging PowerShell. Through both native cmdlets and the .NET Framework, you can create sophisticated scripts to solve almost any problem. The PowerShell community of developers is very passionate about sharing their knowledge and providing information on how to solve problems. Through code sharing websites, social media, and Microsoft's TechNet, there is always a constant stream of examples that you can implement in your code. Also, now that PowerShell is open source and available on Linux, it deepens the relationships with the open source community. It provides a much wider set of open source developers to solve enterprise problems.
This book has been designed to teach you the ins and outs of enterprise PowerShell scripting. It is geared towards real-world scenarios of how Fortune 500 companies leverage PowerShell to solve problems. It provides a scripting framework that you can easily follow to start integrating the examples into your own scripts. At the end of this book, you will have learned many techniques to secure, optimize, and deliver PowerShell scripts that are ready to be deployed in the enterprise.