Kurskode: M55039

varighet: 5 Dag(er)

Sted: Virtual, Instructor Led Training
Katergori: Microsoft

Course Overview

This five-day instructor-led is intended for IT professionals who are interested in furthering their skills in Windows PowerShell and administrative automation. The course assumes a basic working knowledge of PowerShell as an interactive command-line shell, and teaches students the correct patterns and practices for building reusable, tightly scoped units of automation.

After completing this course, students will be able to:

  • โ€ข Describe the correct patterns for building modularized tools in Windows PowerShell
  • โ€ข Build highly modularized functions that comply with native PowerShell patterns
  • โ€ข Build controller scripts that expose user interfaces and automate business processes
  • โ€ข Manage data in a variety of formats
  • โ€ข Write automated tests for tools
  • โ€ข Debug tools

Module 1: Tool Design

This module explains how to design tools and units of automation that comply with native PowerShell usage patterns.Lessons

  • โ€ข Tools do one thing
  • โ€ข Tools are flexible
  • โ€ข Tools look native
Lab : Designing a Tool
  • โ€ข Design a tool

After completing this module, students will be able to:

  • โ€ข Describe the native shell patterns that a good tool design should exhibit

Module 2: Start with a Command

This module explains how to start the scripting process by beginning in the interactive shell console.Lessons

  • โ€ข Why start with a command?
  • โ€ข Discovery and experimentation
Lab : Designing a Tool
  • โ€ข Start with a command

After completing this module, students will be able to:

  • โ€ข Describe the benefits of discovery and experimentation in the console
  • โ€ข Discover and experiment with existing commands in the console

Module 3: Build a Basic Function and Module

This module explains how to build a basic function and module, using commands already experimented with in the shell.Lessons

  • โ€ข Start with a basic function
  • โ€ข Create a script module
  • โ€ข Check prerequisites
  • โ€ข Run the new command
Lab : Designing a Tool
  • โ€ข Build a basic function and module

After completing this module, students will be able to:

  • โ€ข Build a basic function
  • โ€ข Create a script module
  • โ€ข Run a command from a script module

Module 4: Adding CmdletBinding and Parameterizing

This module explains how to extend the functionality of a tool, parameterize input values, and use CmdletBinding.Lessons

  • โ€ข About CmdletBinding and common parameters
  • โ€ข Accepting pipeline input
  • โ€ข Mandatory-ness
  • โ€ข Parameter validation
  • โ€ข Parmeter aliases
Lab : Designing a Tool
  • โ€ข Adding CmdletBinding and Parameterizing

After completing this module, students will be able to:

  • โ€ข Describe the purpose of CmdletBinding and list common parameters
  • โ€ข Parameterize a scriptโ€™s input
  • โ€ข Define parameters as mandatory
  • โ€ข Define parameters as accepting pipeline input
  • โ€ข Define parameter validation

Module 5: Emitting Objects as Output

This module explains how to create tools that produce custom objects as output.Lessons

  • โ€ข Assembling information
  • โ€ข Constructing and emitting output
  • โ€ข Quick tests
Lab : Designing a Tool
  • โ€ข Emitting objects as output

After completing this module, students will be able to:

  • โ€ข Describe the purpose of object-based output
  • โ€ข Create and output custom objects from a function

Module 6: An Interlude: Changing Your Approach

This module explains how to re-think tool design, using concrete examples of how itโ€™s often done wrong.Lessons

  • โ€ข Examining a script
  • โ€ข Critiquing a script
  • โ€ข Revising the script

After completing this module, students will be able to:

  • โ€ข Describe the native patterns that a good tool design should exhibit
  • โ€ข Redesign a script to meet business requirements and conform to native patterns

Module 7: Using Verbose, Warning, and Informational Output

This module explains how to use additional output pipelines for better script behaviors.Lessons

  • โ€ข Knowing the six channels
  • โ€ข Adding verbose and warning output
  • โ€ข Doing more with verbose output
  • โ€ข Informational output
Lab : Designing a Tool
  • โ€ข Using Verbose, Warning, and Informational Output

After completing this module, students will be able to:

  • โ€ข Describe the six output channels in the shell
  • โ€ข Write commands that use verbose, warning, and informational output
  • โ€ข Run commands with extra output enabled

Module 8: Comment-Based Help

This module explains how to add comment-based help to tools.Lessons

  • โ€ข Where to put your help
  • โ€ข Getting started
  • โ€ข Going further with comment-based help
  • โ€ข Broken help
Lab : Designing a Tool
  • โ€ข Comment-based help

After completing this module, students will be able to:

  • โ€ข Describe the purpose and construction of comment-based help
  • โ€ข Add comment-based help to a function
  • โ€ข Identify causes of broken comment-based help

Module 9: Handling Errors

This module explains how to create tools that deal with anticipated errors.Lessons

  • โ€ข Understanding errors and exceptions
  • โ€ข Bad handling
  • โ€ข Two reasons for exception handling
  • โ€ข Handling exceptions in our tool
  • โ€ข Capturing the actual exception
  • โ€ข Handling exceptions for non-commands
  • โ€ข Going further with exception handling
  • โ€ข Deprecated exception handling
Lab : Designing a Tool
  • โ€ข Handling errors

After completing this module, students will be able to:

  • โ€ข Describe the native patterns for handling errors in a command
  • โ€ข Add error handling to a command
  • โ€ข Run a command and observe error handling behaviors

Module 10: Basic Debugging

This module explains how to use native PowerShell script debugging tools.Lessons

  • โ€ข Two kinds of bugs
  • โ€ข The ultimate goal of debugging
  • โ€ข Developing assumptions
  • โ€ข Write-Debug
  • โ€ข Set-PSBreakpoint
  • โ€ข The PowerShell ISE
Lab : Designing a Tool
  • โ€ข Basic debugging

After completing this module, students will be able to:

  • โ€ข Describe the tools used for debugging in PowerShell
  • โ€ข Debug a broken script

Module 11: Going Deeper with Parameters

This module explains how to further define parameter attributes in a PowerShell command.Lessons

  • โ€ข Parameter positions
  • โ€ข Validation
  • โ€ข Multiple parameter sets
  • โ€ข Value from remaining arguments
  • โ€ข Help messages
  • โ€ข Aliases
  • โ€ข More CmdletBinding

After completing this module, students will be able to:

  • โ€ข Describe the use of positional parameters
  • โ€ข Describe additional parameter validation methods
  • โ€ข Describe how to define multiple parameter sets
  • โ€ข Describe other parameter definition options

Module 12: Writing Full Help

This module explains how to create external help for a command.Lessons

  • โ€ข External help
  • โ€ข Using PlatyPs
  • โ€ข Supporting online help
  • โ€ข โ€œAboutโ€ topics
  • โ€ข Making your help updatable
Lab : Designing a Tool
  • โ€ข Writing full help

After completing this module, students will be able to:

  • โ€ข Describe the advantages of external help
  • โ€ข Create external help using PlatyPS and Markdown

Module 13: Unit Testing Your Code

This module explains how to use Pester to perform basic unit testing.Lessons

  • โ€ข Sketching out the test
  • โ€ข Making something to test
  • โ€ข Expanding the test
  • โ€ข Going further with Pester
Lab : Designing a Tool
  • โ€ข Unit testing your code

After completing this module, students will be able to:

  • โ€ข Describe the purpose of unit testing
  • โ€ข Write basic unit tests for PowerShell functions

Module 14: Extending Output Types

This module explains how to extend objects with additional capabilities.Lessons

  • โ€ข Understanding types
  • โ€ข The Extensible Type System
  • โ€ข Extending an object
  • โ€ข Using Update-TypeData

After completing this module, students will be able to:

  • โ€ข Describe the purpose of the ETS
  • โ€ข Extend an existing object type

Module 15: Analyzing Your Script

This module explains how to use Script Analyzer to support best practices and prevent common problems.Lessons

  • โ€ข Performing a basic analysis
  • โ€ข Analyzing the analysis
Lab : Designing a Tool
  • โ€ข Analyzing your script

After completing this module, students will be able to:

  • โ€ข Describe the use of Script Analyzer
  • โ€ข Perform a basic script analysis

Module 16: Publishing Your Tools

This module explains how to publish tools to public and private repositories.Lessons

  • โ€ข Begin with a manifest
  • โ€ข Publishing to PowerShell Gallery
  • โ€ข Publishing to private repositories
Lab : Designing a Tool
  • โ€ข Publishing your tools

After completing this module, students will be able to:

  • โ€ข Describe the tool publishing process and requirements
  • โ€ข Publish a tool to a repository

Module 17: Basic Controllers: Automation Scripts and Menus

This module explains how to create controller scripts that put tools to use.Lessons

  • โ€ข Building a menu
  • โ€ข Using UIChoice
  • โ€ข Writing a process controller
Lab : Designing a Tool
  • โ€ข Basic controllers

After completing this module, students will be able to:

  • โ€ข Describe the purpose of basic controller scripts
  • โ€ข Write a simple controller script

Module 18: Proxy Functions

This module explains how to create and use proxy functions.Lessons

  • โ€ข A proxy example
  • โ€ข Creating the proxy base
  • โ€ข Modifying the proxy
  • โ€ข Adding or removing parameters
Lab : Designing a Tool
  • โ€ข Proxy functions

After completing this module, students will be able to:

  • โ€ข Describe the purpose of proxy functions
  • โ€ข Create a simple proxy function

Module 19: Working with XML Data

This module explains how to work with XML data in PowerShell.Lessons

  • โ€ข Simple: CliXML
  • โ€ข Importing native XML
  • โ€ข ConvertTo-XML
  • โ€ข Creating native XML from scratch
Lab : Designing a Tool
  • โ€ข Working with XML

After completing this module, students will be able to:

  • โ€ข Describe the use of XML within PowerShell
  • โ€ข Use XML data within a PowerShell function

Module 20: Working with JSON Data

This module explains how to using JSON data in PowerShell.Lessons

  • โ€ข Converting to JSON
  • โ€ข Converting from JSON
Lab : Designing a Tool
  • โ€ข Working with JSON data

After completing this module, students will be able to:

  • โ€ข Describe the use of JSON data within PowerShell
  • โ€ข Use JSON data within a PowerShell function

Module 21: Working with SQL Server Data

This module explains how to use SQL Server from within a PowerShell script.Lessons

  • โ€ข SQL Server terminology and facts
  • โ€ข Connecting to the server and database
  • โ€ข Writing a query
  • โ€ข Running a query
  • โ€ข Invoke-SqlCmd
  • โ€ข Thinking about tool design patterns

After completing this module, students will be able to:

  • โ€ข Describe the use of SQL Server from within PowerShell
  • โ€ข Write and run SQL Server queries
  • โ€ข Design tools that use SQL Server for data storage

Module 22: Final Exam

This module provides a chance for students to use everything they have learned in this course within a practical example.Lessons

  • โ€ข Lab problem
  • โ€ข Break down the problem
  • โ€ข Do the design
  • โ€ข Test the commands
  • โ€ข Code the tool
Lab : Final Exam
  • โ€ข Lab one
Lab : Final Exam
  • โ€ข Lab two

After completing this module, students will be able to:

  • โ€ข Create PowerShell tools, using native design patterns, from business requirements.

Before attending this course, students must have:

  • โ€ข Experience at basic Windows administration
  • โ€ข Experience using Windows PowerShell to query and modify system information
  • โ€ข Experience using Windows PowerShell to discover commands and their usage
  • โ€ข Experience using WMI and/or CIM to query system information

This course is intended for administrators in a Microsoft-centric environment who want to build reusable units of automation, automate business processes, and enable less-technical colleagues to accomplish administrative tasks.

NOK 39.000

-
+
Kurskode: M55039 Kateegori: ,

Relaterte kurs