MOC 55039 Windows PowerShell Scripting and Toolmaking

Seminarinformationen

Seminar - Ziel

This course covers advanced Windows PowerShell topics, with an emphasis on building reusable tools. Students are introduced to workflow, engage in best practices, and learn a variety of script development and toolmaking techniques.

Learning Objectives

  • 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

Teilnehmer - Zielgruppe

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.

Kurs - Voraussetzungen

  • To gain the most out of this course, you should 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

Seminardauer

  • 5 Tage
  • 09:00 Uhr bis 17:00 Uhr

Schulungsunterlagen

  • nach Absprache

Seminar-Inhalt / Agenda

1 - TOOL DESIGN

  • Tools do one thing
  • Tools are flexible
  • Tools look native

2 - START WITH A COMMAND

  • Why start with a command?
  • Discovery and experimentation

3 - BUILD A BASIC FUNCTION AND MODULE

  • Start with a basic function
  • Create a script module
  • Check prerequisites
  • Run the new command

4 - ADDING CMDLETBINDING AND PARAMETERIZING

  • About CmdletBinding and common parameters
  • Accepting pipeline input
  • Mandatory-ness
  • Parameter validation
  • Parmeter aliases

5 - EMITTING OBJECTS AS OUTPUT

  • Assembling information
  • Constructing and emitting output
  • Quick tests

6 - AN INTERLUDE: CHANGING YOUR APPROACH

  • Examining a script
  • Critiquing a script
  • Revising the script

7 - USING VERBOSE, WARNING, AND INFORMATIONAL OUTPUT

  • Knowing the six channels
  • Adding verbose and warning output
  • Doing more with verbose output
  • Informational output

8 - COMMENT-BASED HELP

  • Where to put your help
  • Getting started
  • Going further with comment-based help
  • Broken help

9 - HANDLING ERRORS

  • 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

10 - BASIC DEBUGGING

  • Two kinds of bugs
  • The ultimate goal of debugging
  • Developing assumptions
  • Write-Debug
  • Set-PSBreakpoint
  • The PowerShell ISE

11 - GOING DEEPER WITH PARAMETERS

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

12 - WRITING FULL HELP

  • External help
  • Using PlatyPs
  • Supporting online help
  • “About” topics
  • Making your help updatable

13 - UNIT TESTING YOUR CODE

  • Sketching out the test
  • Making something to test
  • Expanding the test
  • Going further with Pester

14 - EXTENDING OUTPUT TYPES

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

15 - ANALYZING YOUR SCRIPT

  • Performing a basic analysis
  • Analyzing the analysis

16 - PUBLISHING YOUR TOOLS

  • Begin with a manifest
  • Publishing to PowerShell Gallery
  • Publishing to private repositories

17 - BASIC CONTROLLERS: AUTOMATION SCRIPTS AND MENUS

  • Building a menu
  • Using UIChoice
  • Writing a process controller

18 - PROXY FUNCTIONS

  • A proxy example
  • Creating the proxy base
  • Modifying the proxy
  • Adding or removing parameters

19 - WORKING WITH XML DATA

  • Simple: CliXML
  • Importing native XML
  • ConvertTo-XML
  • Creating native XML from scratch

20 - WORKING WITH JSON DATA

  • Converting to JSON
  • Converting from JSON

21 - WORKING WITH SQL SERVER DATA

  • SQL Server terminology and facts
  • Connecting to the server and database
  • Writing a query
  • Running a query
  • Invoke-SqlCmd
  • Thinking about tool design patterns
  • Design tools that use SQL Server for data storage

22 - FINAL EXAM

  • Lab problem
  • Break down the problem
  • Do the design
  • Test the commands
  • Code the tool

Weitere Schulungen zu Thema PowerShell

Powershell Einführung

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

Innerhalb dieses zweitägigen Seminars zeigen wir Ihnen die Grundlagen im Umgang mit Powershell.

Shell Programmierung / UNIX Skripting

- u.a. in Nürnberg, Berlin, Stuttgart, München, Köln

In diesem 3-tägigen Seminar lernen die Teilnehmer, wie Sie Tätigkeiten auf einem UNIX/LINUX-System mit Hilfe von Shell-Skripten automatisieren können. Im Kurs wird die Programmierung eigener UNIX-Tools für sich wiederholende Aufgabenstellungen behandelt. Die syntaktischen ...

MOC 55066 PowerShell for SharePoint Administrators

- u.a. in Berlin, Frankfurt am Main, Hamburg, Stuttgart, Darmstadt

This course provides students with the knowledge and skills needed to use PowerShell to administer SharePoint Servers. Students will learn how to manage day-to-day and automated tasks carried out by SharePoint Administrators.At Course CompletionConfigure SharePoint Servers ...

MOC 55207 PowerShell for SQL Administration

- u.a. in Frankfurt am Main, Nürnberg, Wien, Düsseldorf, Essen

The Knowledge Academy's is PowerShell 5.0 and Desired State Configuration M55202 training is ideal for anyone interested. However, much more benfit for developers is there who want to enhance their knowledge and skills in the Desired State Configuration (DSC).