Võta ühendust:
+372 618 1727
info@koolitus.ee

CWL-55039 Windows PowerShell Scripting and Toolmaking

CWL-55039

Aeg: 14.09 - 18.09.2020, kell 09:30 Maht: 40 ak. tundi Koht: Vana-Lõuna 39/1
Hind:
1 190 € (+ km 20%)

Koolituse kokkuvõte:

This three- to 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.

Koolitus toimub eesti keeles 

 

Kellele koolitus on suunatud:

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.

Koolitaja: Henn Sarv


Koolituse oodatav tulemus/eesmärk (õpiväljundid):

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
Koolitusel osalemise eeldused (soovitavalt):

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
Koolituse sisukord:
Module 1: Tool DesignThis 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 CommandThis 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 ModuleThis 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 ParameterizingThis 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 OutputThis 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 ApproachThis 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 OutputThis 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 HelpThis 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 ErrorsThis 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 DebuggingThis 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 ParametersThis 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 HelpThis 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 CodeThis 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 TypesThis 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 ScriptThis 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 ToolsThis 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 MenusThis 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 FunctionsThis 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 DataThis 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 DataThis 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 DataThis 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 ExamThis 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.

 

Lisainfo:

Koolitushind sisaldab:

  • ametlikke õppematerjale;
  • koolitaja konsultatsiooni õpitud teemade kohta e-posti teel pärast koolitust;
  • tunnistust.

Lisaväärtusena pakume:

  • ühe Microsofti sertifitseerimiseksami sooritamise võimalust 6 kuu jooksul pärast koolitust;
  • sooje jooke koos küpsistega;
  • lõunasööki igal koolituspäeval;
  • tasuta parkimist.

Seotud koolitused

31.08-04.09.2020 5 päeva MOC-10961 Automating Administration with Windows PowerShell 1 190 € (+ km 20%)
07.09-09.09.2020 3 päeva MOC-10962 Advanced Automated Administration with Windows PowerShell 890 € (+ km 20%)
16.11-20.11.2020 5 päeva MOC-10961 Automating Administration with Windows PowerShell 1 190 € (+ km 20%)
23.11-25.11.2020 3 päeva MOC-10962 Advanced Automated Administration with Windows PowerShell 890 € (+ km 20%)