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 Köln, Düsseldorf, Essen, Heidelberg, Virtual Classroom

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 55133 PowerShell for System Center Configuration Manager Administrators

- u.a. in Stuttgart, Nürnberg, Düsseldorf, Virtual Classroom, Offenbach

In this course, students learn how to access the PowerShell commands included with ECM 2203 and use them to perform configuration tasks for a primary site. Individual cmdlets will be used in working with objects such as Boundaries, Boundary Groups, Collections, Software ...