Overview

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'.

Read more

Prerequisites

  • Knowledge and experience working with Windows PowerShell or knowledge equivalent to the content covered in course 10961B: Automating Administration with Windows PowerShell
  • Experienced in general Windows Server and Windows Client administration or already experience in administering and supporting Application servers and services including applications like Exchange, SharePoint, and SQL.
Read more

Learning Outcomes

  • Create Advanced Functions
  • Use Cmdlets and Microsoft .NET Framework in Windows PowerShell
  • Write Controller Scripts
  • Handle Script Errors
  • Use XML Data Files
  • Manage Server Configurations by Using Desired State Configuration
  • Analyze and Debugging Scripts
  • Understand Windows PowerShell Workflow
  • Understand Desired State Configuration.
  • Understand that PowerShell handles both imperative and declarative language.
  • Understand DSC requirements.
  • Understand features added to version 4 of PowerShell.
  • Understand features added to version 5 of PowerShell.
  • Understand and execute updating the Help System.
  • Understand management models.
  • Understand and utilize MOF file creation workflow.
  • Understand methodologies of configuration data.
  • Understand functions and cmdlets available for DSC with WMF 5.0.
  • Understand the basics of a DSC Pull Server.
  • Understand how to get the parameters working for IntelliSense.
  • Understand how to define a DSC configuration script.
  • Understand how to utilize resources.
  • Understand and utilize the Configuration keyword.
  • Understand node filtering.
  • Understand and utilize the DSC File Resource.
  • Understand and utilize the DSC Archive Resource.
  • Understand and utilize the DSC Environment Resource.
  • Understand and utilize the DSC Group Resource.
  • Understand and enable the Analytic Log.
  • Understand and utilize the DSC Log Resource.
  • Understand and utilize the DSC Registry Resource.
  • Understand and utilize the DSC Script Resource.
  • Understand and utilize the DSC Service Resource.
  • Understand and utilize the DSC User Resource.
  • Understand and utilize the DSC WindowsFeature Resource.
  • Understand and utilize parameters.
  • Understand both Push and Pull modes.
  • Understand and utilize the LCM.
  • Understand placing configurations and resources for distribution.
  • Understand configuration drift.
  • Understand and utilize the debugging feature.
  • Understand how to utilize PowerShell.
  • Understand and utilize the pipeline.
  • Understand and utilize loops.
  • Understand and utilize scripting.
  • Understand and utilize functions.
Read more

Course Outline

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

  • Converting a Command into an Advanced Function
  • Creating a Script Module
  • Defining Parameter Attributes and Input Validation
  • Writing Functions that use Multiple Objects
  • Writing Functions that Accept Pipeline Input
  • Producing Complex Function Output
  • Documenting Functions by using Content-Based Help
  • Supporting -Whatif and -Confirm

Lab : Converting a Command into an Advanced Function

  • Converting a Command into an Advanced Function

Lab : Creating a Script Module

  • Creating a Script Module

Lab : Defining Parameter Attributes and Input Validation

  • Defining Parameter Attributes and Input Validation

Lab : Writing Functions that use Multiple Objects

  • Writing Functions that use Multiple Objects

Lab : Writing Functions that Accept Pipeline Input

  • Writing Functions that Accept Pipeline Input

Lab : Producing Complex Function Output

  • Producing Complex Function Output

Lab : Documenting Functions by using Content-Based Help

  • Documenting Functions by using Content-Based Help

Lab : Supporting -Whatif and -Confirm

  • 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

  • Running Windows PowerShell Commands
  • Using Microsoft .NET Framework in Windows PowerShell

Lab : Using .NET Framework in Windows PowerShell

  • Using Static and Instance Members

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

  • Understanding Controller Scripts
  • Writing Controller Scripts that Show a User Interface

Lab : Writing Controller Scripts that Display a User Interface

  • Write Functions to be Used in the Controller Script
  • Write a Controller Script that Implements a Text-Based Menu

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

  • Understanding Error Handling
  • Handling Errors in a Script

Lab : Handling Errors in a Script

  • 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

  • Reading, Manipulating and Writing Data in XML

Lab : Reading, Manipulating and Writing Data in XML

  • Test the Provided Tools
  • Update an XML Inventory Document

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

  • Understanding Desired State Configuration
  • Creating and Deploying a DSC Configuration

Lab : Creating and Deploying a DSC Configuration

  • Write, Run and Push 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

  • Debugging in Windows PowerShell
  • Analyzing and Debugging and Existing Script

Lab : Analyzing and Debugging and Existing Script

  • 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

  • Understanding Windows PowerShell Workflow

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

  • Introduction
  • Course Materials
  • Facilities
  • Prerequisites
  • What We'll Be Discussing

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

  • Understanding Desired State Configuration
  • Understanding DSC Metaphor
  • PowerShell is Imperative, or Declarative, or Both?
  • Exploring DSC from 30,000 Feet!
  • Examining Why to Put Effort into DSC (Or Inspire Me Dude)?
  • Understanding DSC Requirements
  • Examining PowerShell Version 4: DSC Features Added
  • Exploring PowerShell Version 5: DSC Improvements

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

  • Taking a Preliminary Look
  • Updating the Help System
  • Exploring Management Models
  • Reviewing the MOF File Creation Workflow
  • Examining Methodologies of Configuration Data
  • Exploring Functions and Cmdlets Available for DSC with WMF 5.0
  • Understanding DSC Pull Server

Lab : DSC Architecture

  • Let’s Allow PowerShell to Help Us!
  • Create A Sample Configuration File and Compile it into an MOF
  • Simple Deployment of MOF File to Change LCM Settings

Module 4: DSC Configuration Files

In this module, we will examine the process to create configuration files and utilize them.

Lessons

  • Preparing the Environment
  • Defining a DSC Configuration Script
  • Configuration Keyword

Lab : DSC Configuration Files

  • Getting IntelliSense for the Parameters Working
  • Using Resources
  • Examine Node Filtering
  • Expand Filtering in Your Configuration File

Module 5: DSC Resources

In this module, we will discuss and utilize DSC Resources.

Lessons

  • Examining File Resource
  • Exploring Archive Resource
  • Examining Environment Resource
  • Exploring Group Resource
  • Examining Log Resource
  • Understanding Package Resource
  • Examining Registry Resource
  • Exploring Script Resource
  • Examining Service Resource
  • Exploring User Resource
  • Examining WindowsFeature Resource
  • Understanding PsDscRunAsCredential

Lab : DSC Resources

  • Utilize the DSC File Resource
  • Utilize the DSC Archive Resource
  • Utilize the DSC Environment Resource
  • Utilize the DSC Group Resource
  • Enable the Analytic Log
  • Utilize the DSC Log Resource
  • Utilize the DSC Registry Resource
  • Utilize the DSC Script Resource
  • Utilize the DSC Service Resource
  • Utilize the DSC User Resource
  • Utilize the DSC WindowsFeature Resource

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

  • Discussing Parameters
  • Examining a Push Mode Example
  • Exploring the Pull Mode
  • Reviewing the Local Configuration Manager (LCM)
  • Placing Configurations and Resources for Distribution by the Pull Server
  • Discussing Configuration Drift
  • Debugging DSC in Version 5

Lab : DSC Pull and Push Servers

  • Create a Pull Server
  • Set Up the LCM
  • Distribute an MOF Via the Pull Server
  • DSC Fixes Things!
  • Test the Debug Feature

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

  • Introduction to PowerShell
  • Utilizing PowerShell
  • The Pipeline
  • Processing Data with Loops
  • Scripting and Functions

Lab : Appendix: PowerShell 5.0 Basics

Read more

Why choose QA

Special Notices

Please note: for Attend from Anywhere customers an additional screen is required. The additional screen must have a minimum screen size of 19 inch and minimum resolution of 1280x1024, with the vertical resolution (1024) being the most critical.

Frequently asked questions

See all of our FAQs

How can I create an account on myQA.com?

There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.

If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".

If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.

Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.

How do QA’s virtual classroom courses work?

Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.

We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting (more details in the link below) to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.

Learn more about our Virtual Classrooms.

How do QA’s online courses work?

QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.

All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.

Learn more about QA’s online courses.

When will I receive my joining instructions?

Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.

When will I receive my certificate?

Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.

Contact Us

Please complete this form and we'll be in touch

Please enter a date or timescale
Please type in a preferred location or region...