Table of contents : Cover Title Page Copyright Page Dedication Page About the Authors About the Reviewer Acknowledgements Preface Table of Contents 1. Introducing PowerShell Introduction Evolution of PowerShell .NET and PowerShell PowerShell key features PowerShell integration choices PowerShell with automation PowerShell in DevOps PowerShell adoption by cloud providers PowerShell in data science PowerShell and Python integration PowerShell and containers PowerShell and Windows command shell PowerShell and Bash shell Installing and configuring PowerShell Installing PowerShell 6.1 Installing PowerShell 7.3 version Installing PowerShell on Linux Navigating PowerShell ISE Cloud shell Installing Visual Studio Code Conclusion 2. PowerShell Constructs Introduction Getting started with PowerShell Understanding objects Define class in PowerShell Understand static member and static methods Inheritance using PowerShell Command + Let in action Using help Compare Get-Help and man page Understanding PowerShell execution policy PowerShell execution policy scopes Command to set and view execution policy in PowerShell Recommendation on appropriate PowerShell execution policy Installing PowerShell modules Install a PowerShell module Learning PowerShell providers Learning PowerShell profiles Understand PowerShell profiles with examples Configuring PowerShell variables Using the CIM cmdlets Conclusion 3. Munging the Data Through Pipelines Introduction Pipelines in PowerShell Types of pipeline input Check which cmdlet accepts pipeline input How does the pipeline process multiple inputs Munging the data through pipelines Selecting columns from the output How to call property and methods in the select-object cmdlet Select-Object and derived columns Selecting objects with Select-Object -excluding property Limiting the number of output objects Selecting objects with -Unique parameter Expanding the properties within properties Filtering objects Compare hotfix between the two servers Grouping the output Sorting the output Taking action on the returned objects Understanding pipeline-enabled parameters Importing content with pipeline Conclusion 4. Data Control Flow Using Branches and Loops Introduction Using if-else conditions clause Using Switch-Case Learn to use delays in PowerShell Loop constructs in PowerShell Foreach loop While loop Do…while loop For loop Do…until loop Understanding arrays and hash tables Arrays Array operators Hash tables Conclusion 5. Learning about PowerShell Modules Introduction PowerShell module versus script/function Key concepts of the PowerShell module When to create a PowerShell module Loading modules Get-Module Remove-Module Update-Module Designing module manifest in Powershell Writing script modules Writing binary modules Writing dynamic module Install PowerShell modules in offline mode Importing a custom PowerShell module into remote session Handling command name conflicts Conclusion 6. Choosing Between PowerShell Core and PowerShell Introduction Introduction to PowerShell core .Net core Features of PowerShell core Installing PowerShell 7 on Ubuntu Understanding the difference between PowerShell and PowerShell core Knowing about unsupported modules Learning OpenSSH and remoting Key differences between OpenSSH and PowerShell Installing OpenSSH on Windows Configuring OpenSSH using sshd_config on Windows and Linux Testing PowerShell remoting Comparing the commands: Bash and PowerShell Conclusion 7. PowerShell Administration and Scripting Introduction Windows administration using PowerShell Top 10 Windows Admin PowerShell commands with examples Diverse parameter usage in PowerShell functions Using basic parameter Using default parameter values Using positional parameters Using switch parameters Using validation rules Parameter splatting Documenting your PowerShell Comment-based help Function comment-based help Running scripts Debugging and error handling $DebugPreference variable BreakPoints Useful commands when the debugger breaks Error handling in PowerShell Trap statement Try catch or trap which one to use! Using PowerShell jobs Understanding PowerShell remoting Querying Windows Management Instrumentation Common Information Model Conclusion 8. Using the Active Directory Module Introduction Getting started Use of PowerShell in Active Directory Importing the Active Directory Creating a user in Active Directory Adding users from a CSV file Retrieving AD group-related data Listing members of the AD group Finding locked Active Directory accounts Enabling Active Directory accounts Disabling users from a CSV file Disabling inactive user accounts Retrieving computer objects from Active Directory Listing service accounts in the specific group Conclusion 9. Building PowerShell GUI for Scripts Introduction Getting started PowerShell GUI Building PowerShell GUI for scripts Elements of Windows forms Adding elements to the form Label Button Text box List box Combo box Data grid Adding a custom function to a button Creating a simple addition form Creating a DiskSpace usage form Conclusion 10. Managing Cloud Operations Using PowerShell Introduction Getting started with PowerShell and Cloud Building cloud resources using Azure ARM templates Provisioning virtual machines Monitoring and analytics Listing Azure Virtual Machine details Retrieving Azure consumption usage Making API calls in PowerShell Learning AWS PowerShell modules Learning Google PowerShell module Loading Azure PowerShell modules Conclusion 11. Understanding PowerShell and Data Science Introduction Importance of PowerShell and Python PowerShell and data science Data preprocessing Data analysis Machine learning Data visualization Automation Integration with other tools Data extraction using .NET class libraries Using Python to import the data PowerShell in AI initiatives How PowerShell can be used for AIOPs Integrating PowerShell in Python Conclusion 12. Administrating Database Using PowerShell Introduction Understanding SQL Server and PowerShell SQL Server PowerShell provider SQL Server Managed Objects .Net Libraries for SQL Using JSON with PowerShell Using XML with PowerShell Writing output to an SQL server table Connect to PostgreSQL using PowerShell Introducing Azure Az cmdlets Introducing Azure Az.Sql cmdlets Conclusion Index