This course will teach students how to automate administrative tasks using Windows PowerShell 5.1. Students will learn core scripting skills such as creating advanced functions, writing controller scripts, and handling script errors. Students will learn how to works with Windows PowerShell Workflow, the REST API and XML and JSON formatted data files, Students will also learn how to use new administration tools such Desired State Configuration (DSC) and Just Enough Administration (JEA) to configure and secure servers as well as placing graphical interfaces on their PowerShell code. PowerShell 7 will be introduced as well as VSCode and how to configure it for editing PowerShell code.
Module 1: Creating Advanced Functions
This module pics up where 10961: Automating Administration with Windows PowerShell left off. We will take our lessons learned in 10961 to the next level.
- Create an Advance Function
- Creating a Script Module
- Parameters and Input Validation
- Write functions that accept pipeline input
- Producing complex function output
- Documenting functions by using comment-based help
- Supporting -WhatOf and -Confirm
Module 2: Using Microsoft .NET Framework and REST API in Windows PowerShell
In this module, you will learn how to use the .NET Framework components and REST API from within Windows PowerShell. These two techniques will provide you with the flexibility and capability required for accomplishing tasks in a production environment.
- Using .NET Framework in Windows PowerShell
- Using REST PAI in Windows PowerShell
Module 3: Writing Controller Scripts
In this module, students will learn how to combine tools, which are advanced functions that perform a specific task, and a controller script, which provides a user interface or automates a business process.
- Understanding Controller Scripts
- Writing controller scripts that shows a user interface
- Writing controller scripts that produce reports
Module 4: Handling Script Errors
In this module, the students will learn how to perform basic error handling by using scripts.
- Understanding error handling
- Handling errors in a script
Module 5: Using XML, JSON, and custom-formatted data
This module will focus on handling data in a variety of common formats for use with PowerShell.
- Reading, manipulating, and writing data in XML
- Working with JSON-formatted data
- Reading and manipulating custom-formatted data
Module 6: Enhancing server management with Desired States Configuration and Just Enough Administration
In this module, you will learn how to write Desired State Configuration (DSC) configuration files, deploy those files to servers, and monitor the configurations of servers. You will also learn how to enhance the security of delegated server management by using Just Enough Administration (JEA). JEA is a Windows Management Framework (WMF)-based technology that facilitates enforcing the principle of least privilege. Both technologies enhance the management capabilities and increase the overall security and reliability of the managing computing resources. DSC helps to prevent configuration drift. JEA makes it possible to comply with the principle of least privilege.
- Understanding DSC
- Creating and deploying a DSC configuration
- Implementing JEA
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 need to debug their own scripts.
- Debugging in Windows PowerShell
- Analyzing and debugging an existing script
Module 8: Understanding Windows PowerShell workflow
In this module, you will learn about the features of the Windows PowerShell workflow technology.
- Understanding Windows PowerShell workflow
Module 9: Developing a Graphical User Interface for PowerShell.
In this module, student will learn how to deploy a graphical interface on top of their code to expand the functionality of PowerShell to non-technical users.
- Common windows forms controls.
- Form projects
Module 10: Publishing your code
The module will focus on preparing your code for release in your organization.
- PowerShell Script Analyzer
- Deploy a PowerShell Repository
Module 11: Deploying PowerShell 7
This module will focus on PowerShell 7 and VSCode for editing PowerShell 7.
- Deploy PowerShell 7
- Deploy and configure VSCode
- Learn about the advanced functionality of PowerShell 7
This course is intended for IT professionals who are experienced in general Windows Server and Windows Client administration. Students should have a foundational knowledge of Windows PowerShell, which they can obtain by taking course 10961C: Automating Administration with Windows PowerShell.
In addition, this course provides scripting guidance for developers who support development environments and deployment processes.
Before attending this course, students must have:
- Knowledge and experience working with Windows PowerShell or knowledge equivalent to the content covered in course 10961C: Automating Administration with Windows PowerShell
- Experienced in general Windows Server and Windows Client administration or already have experience in administering and supporting Application servers and services including applications like Exchange, SharePoint, and SQL.
What You Will Learn
After completing this course, students will be able to:
- Create advanced functions.
- Use Microsoft .NET Framework and REST API in Windows PowerShell.
- Write controller scripts.
- Handle script errors.
- Use XML, JSON, and custom formatted data.
- Enhance server management with Desired State Configuration and Just Enough Administration.
- Analyze and debug scripts
- Understand Windows PowerShell workflow.