Book Image

Enterprise PowerShell Scripting Bootcamp

By : Brenton J.W. Blawat
Book Image

Enterprise PowerShell Scripting Bootcamp

By: Brenton J.W. Blawat

Overview of this book

Enterprise PowerShell Scripting Bootcamp explains how to create your own repeatable PowerShell scripting framework. This framework contains script logging methodologies, answer file interactions, and string encryption and decryption strategies. This book focuses on evaluating individual components to identify the system’s function, role, and unique characteristics. To do this, you will leverage built-in CMDlets and Windows Management Instrumentation (WMI) to explore Windows services, Windows processes, Windows features, scheduled tasks, and disk statistics. You will also create custom functions to perform a deep search for specific strings in files and evaluate installed software through executable properties. We will then discuss different scripting techniques to improve the efficiency of scripts. By leveraging several small changes to your code, you can increase the execution performance by over 130%. By the end of this book, you will be able to tie all of the concepts together in a PowerShell-based Windows server scanning script. This discovery script will be able to scan a Windows server to identify a multitude of components.
Table of Contents (21 chapters)
Enterprise PowerShell Scripting Bootcamp
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
3
Working with Answer Files
Index

Performance considerations


This book dives into important performance considerations for your scripts. Since PowerShell is an extremely flexible language, you can complete the same activity in multiple ways. While both sets of code get the script to create the same results, there are ways to optimize your code to make it much more efficient. This becomes increasingly important as you evaluate large amounts of data.

Execution time for file scanning, for example, exponentially grows with the quantity of files and the file sizes. 100 files with 100 lines of code can quickly create 10,000 evaluations. Now, if you scale that to 6 million files in a storage volume times 100 lines of code, you are performing 600 million evaluations. Small code performance improvements can significantly optimize your scanning of scripts at scale.

Some of the performance considerations include:

  • Measuring commands: You will evaluate a technique to measure the execution time for commands.

  • Cmdlet considerations: You will learn which cmdlets are more efficient than others and how to avoid common cmdlet mistakes.

  • Regular expressions over arrays: Regular expressions can be difficult to learn, but they provide significant performance improvements to your scripts. You will learn how to properly implement dynamic regular expressions in your scripts.

  • Switch statements: You will evaluate how to perform data sorting with switches and why switch statements are significantly faster.