Book Image

Learn PowerShell Core 6.0

By : David das Neves, Jan-Hendrik Peters
Book Image

Learn PowerShell Core 6.0

By: David das Neves, Jan-Hendrik Peters

Overview of this book

Beginning with an overview of the different versions of PowerShell, Learn PowerShell Core 6.0 introduces you to VSCode and then dives into helping you understand the basic techniques in PowerShell scripting. You will cover advanced coding techniques, learn how to write reusable code as well as store and load data with PowerShell. This book will help you understand PowerShell security and Just Enough Administration, enabling you to create your own PowerShell repository. The last set of chapters will guide you in setting up, configuring, and working with Release Pipelines in VSCode and VSTS, and help you understand PowerShell DSC. In addition to this, you will learn how to use PowerShell with Windows, Azure, Microsoft Online Services, SCCM, and SQL Server. The final chapter will provide you with some use cases and pro tips. By the end of this book, you will be able to create professional reusable code using security insight and knowledge of working with PowerShell Core 6.0 and its most important capabilities.
Table of Contents (26 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Modules


The next step, on your way to PowerShell mastery, is a solid understanding of what modules are, how they work, and why you need them in an enterprise environment.

Generally speaking, modules are packages for your functions. Think of a Java packages or a .NET namespaces as collections for classes, and so on. Modules can be very simple, and can quickly grow more complex with the more you add, such as help files, custom type extensions, formatting, unit tests, and ultimately, the integration into a release pipeline, which we will see in Chapter 11, VSCode and PowerShell Release Pipelines.

Module architecture

The anatomy of a PowerShell module is quite simple. There is a folder with the name of your module. Said folder contains at least a psm1 or a psd1 file that also has the name of your module. This folder is placed in one of the module locations in $env:PSModulePath, and that's it; you're done.

Of course, there can be a little more to it, which you will discover when we talk about Just...