This specially tailored five day course combines the the two Microsoft courses M10962 'Advanced Automated Administration with Windows PowerShell' and M55020 'PowerShell 5.0 and Desired State Configuration'. The first three days of this course, expands and builds upon the knowledge already acquired in course M10961 'Automating Administration with Windows PowerShell2 and focuses on building more scalable and usable Windows PowerShell scripts for use in your organization by building your own Windows PowerShell tools. Learn about areas such as the creation of advanced functions, script modules, advanced parameters attributes and controller scripts. Also learn how to make your scripts more robust by learning about handling script errors and the analysis and debugging Windows PowerShell scripts. The course will also cover the use of Windows PowerShell cmdlets with .NET Framework as well as teaching how to configure your Windows Servers using Desired State Configuration and providing an understanding of Windows PowerShell workflow.
The last two days of this course, based on M55020 'PowerShell 5.0 and Desired State Configuration' designed to get you up and running with Desired State Configuration (DSC). PowerShell DSC was introduced in version 4 and has been greatly expanded and enhanced in version 5. DSC goes hand-in-glove with implementation of DevOps the revolutionary methodology to join the development and operations teams. Now you can “declare” your desired environment and the DSC structure will “make it so” and keep it so!
These two courses may also be taken seperately by attending M10962 'Advanced Automated Administration with Windows PowerShell' and M55020 'PowerShell 5.0 and Desired State Configuration'.
Days 1-3
Module 1: Creating Advanced Functions
In this module students will learn how to parameterize a command into an advanced function. It is designed to teach several key principles in a single logical sequence, by using frequent hands-on exercises to reinforce new skills.
Lessons
Lab : Converting a Command into an Advanced Function
Lab : Creating a Script Module
Lab : Defining Parameter Attributes and Input Validation
Lab : Writing Functions that use Multiple Objects
Lab : Writing Functions that Accept Pipeline Input
Lab : Producing Complex Function Output
Lab : Documenting Functions by using Content-Based Help
Lab : Supporting -Whatif and -Confirm
Module 2: Using Cmdlets and Microsoft .NET Framework in Windows PowerShell
Windows PowerShell provides commands that accomplish many of the tasks that you will need in a production environment. Sometimes, a command is not available but the .NET Framework provides an alternate means of accomplishing a task. Because Windows PowerShell is built on the .NET Framework, it is able to access those alternate means. In this module, you will learn how to discover and run Windows PowerShell commands, and how to use .NET Framework components from inside Windows PowerShell. These two techniques will provide you with the most flexibility and capability for accomplishing tasks in a production environment.
Lessons
Lab : Using .NET Framework in Windows PowerShell
Module 3: Writing Controller Scripts
In this module, students will learn how to combine tools - advanced functions that perform a specific task - and a controller script that provides a user interface or automates a business process
Lessons
Lab : Writing Controller Scripts that Display a User Interface
Module 4: Handling Script Errors
In this module, students will learn how to perform basic error handling in scripts. The focus will be about how to add error handling to existing tools, primarily as a time-saving mechanism (instead of having students write new tools). A side benefit of this approach is that it will help build the skills that you must have to analyze and reuse existing code written by someone else.
Lessons
Lab : Handling Errors in a Script
Module 5: Using XML Data Files
In this module, students will learn how to read, manipulate, and write data in XML files. XML files provide a robust, yet straightforward way to store both flat and hierarchical data. XML files are more flexible than CSV, more accessible for small amounts of data than SQL Server, and easier to code against that Excel automation.
Lessons
Lab : Reading, Manipulating and Writing Data in XML
Module 6: Managing Server Configurations by Using Desired State Configuration
In this module, students will learn how to write Desired State Configuration (DSC) configuration files, deploy those files to servers, and monitor servers' configurations.
Lessons
Lab : Creating and Deploying a DSC Configuration
Module 7: Analyzing and Debugging Scripts
In this module, students will learn how to use native Windows PowerShell features to analyze and debug existing scripts. These skills are also useful when students have to debug their own scripts.
Lessons
Lab : Analyzing and Debugging and Existing Script
Module 8: Understanding Windows PowerShell Workflow
In this module, students will learn about the features of the Windows PowerShell Workflow technology.
Lessons
Days 4-5
Module 1: Course Overview
This module explains how the class will be structured and introduces course materials and additional administrative information.
Lessons
Lab : Course Overview
Module 2: PowerShell 5.0 Desired State Configuration Introduction
In this module, we explain Desired State Configuration (DSC), the concepts needed to understand the basics of how it works and discuss the features added in the two latest versions.
Lessons
Lab : PowerShell 5.0 Desired State Configuration Introduction
Module 3: DSC Architecture
DSC utilizes DSC resources to determine whether or not the current state of the node matches the expected state, and those resources know how to change the current state to the expected state. Before we start to write configuration files and utilize resources, we are going to explore the two models of management, review MOF file creation workflows, and look at different methods of configuring data.
Lessons
Lab : DSC Architecture
Module 4: DSC Configuration Files
In this module, we will examine the process to create configuration files and utilize them.
Lessons
Lab : DSC Configuration Files
Module 5: DSC Resources
In this module, we will discuss and utilize DSC Resources.
Lessons
Lab : DSC Resources
Module 6: DSC Pull and Push Servers
In this module, we will discuss parameters, examine both push and pull models, and explore configurations and debugging.
Lessons
Lab : DSC Pull and Push Servers
Module 7: Appendix: PowerShell 5.0 Basics
This module isintended as a basic tutorial, or refresher for students attending the course it is attached to. You will find this appendix in many of our PowerShell courses.
Lessons
Lab : Appendix: PowerShell 5.0 Basics