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

Excluding files


As you perform scanning in your environment, you will eventually want to filter out some of the false positives. This is especially true if you leverage a template to build your systems, as a multitude of commonalities might be detected. You may also want to filter out very large files that are known to be safe to optimize the scanning duration.

The Get-ChildItem cmdlet includes the -exclude parameter, which enables you to specify a string of objects that you want to exclude. The -exclude parameter also supports multiple values separated by commas and wildcards with the asterisk character. To start, you specify the Get-ChildItem cmdlet with a directory to scan as the argument. You then provide the -exclude parameter with a file specified as its argument. When the Get-ChildItem cmdlet executes, it will filter out those items specified as the arguments to the -exclude parameter.

To create a function to scan a system for the word "Complete" in .xml and .txt files without exclusions...