Creación de secuencias de comandos y herramientas de Windows PowerShell (MOC 55039)

Duración: 35 horas.
¡Quiero saber más sobre el curso de Creación de secuencias de comandos y herramientas de Windows PowerShell (MOC 55039)!

A quien va dirigido

Este curso está dirigido a administradores en un entorno centrado en Microsoft que desean construir unidades reutilizables de automatización, automatizar procesos comerciales y permitir que colegas menos técnicos realicen tareas administrativas.

Descripción

Este programa dirigido por un instructor de tres a cinco días está destinado a profesionales de TI que estén interesados en desarrollar sus habilidades en Windows PowerShell y la automatización administrativa. El curso asume un conocimiento básico de trabajo de PowerShell como un shell interactivo de línea de comandos, y enseña a los estudiantes los patrones y prácticas correctas para c…

A quien va dirigido

Este curso está dirigido a administradores en un entorno centrado en Microsoft que desean construir unidades reutilizables de automatización, automatizar procesos comerciales y permitir que colegas menos técnicos realicen tareas administrativas.

Descripción

Este programa dirigido por un instructor de tres a cinco días está destinado a profesionales de TI que estén interesados en desarrollar sus habilidades en Windows PowerShell y la automatización administrativa. El curso asume un conocimiento básico de trabajo de PowerShell como un shell interactivo de línea de comandos, y enseña a los estudiantes los patrones y prácticas correctas para construir unidades de automatización reutilizables y de alcance estrecho

Después de completar este curso, los estudiantes podrán:

  • Describir los patrones correctos para crear herramientas modularizadas en Windows PowerShell.
  • Cree funciones altamente modularizadas que cumplan con los patrones nativos de PowerShell
  • Cree scripts de controlador que expongan las interfaces de usuario y automaticen los procesos comerciales
  • Administre datos en una variedad de formatos.
  • Escribe pruebas automatizadas para herramientas
  • Herramientas de depuración

Antes de asistir a este curso, los estudiantes deben tener:

  • Experiencia en administración básica de Windows
  • Experiencia con Windows PowerShell para consultar y modificar información del sistema
  • Experiencia usando Windows PowerShell para descubrir comandos y su uso
  • Experiencia usando WMI y / o CIM para consultar información del sistema

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

  • Tools do one thing
  • Tools are flexible
  • Tools look native
  • Design a tool
  • Describe the native shell patterns that a good tool design should exhibit

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

  • Why start with a command?
  • Discovery and experimentation
  • Start with a command
  • Describe the benefits of discovery and experimentation in the console
  • Discover and experiment with existing commands in the console

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

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

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

  • About CmdletBinding and common parameters
  • Accepting pipeline input
  • Mandatory-ness
  • Parameter validation
  • Parmeter aliases
  • Adding CmdletBinding and Parameterizing
  • 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

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

  • Assembling information
  • Constructing and emitting output
  • Quick tests


  • Emitting objects as output
  • Describe the purpose of object-based output
  • Create and output custom objects from a function

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

  • Examining a script
  • Critiquing a script
  • Revising the script
  • Describe the native patterns that a good tool design should exhibit
  • Redesign a script to meet business requirements and conform to native patterns

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

  • Knowing the six channels
  • Adding verbose and warning output
  • Doing more with verbose output
  • Informational output
  • Using Verbose, Warning, and Informational Output
  • Describe the six output channels in the shell
  • Write commands that use verbose, warning, and informational output
  • Run commands with extra output enabled

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

  • Where to put your help
  • Getting started
  • Going further with comment-based help
  • Broken help
  • Comment-based help
  • Describe the purpose and construction of comment-based help
  • Add comment-based help to a function
  • Identify causes of broken comment-based help

This module explains how to create tools that deal with anticipated 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
  • Handling errors
  • Describe the native patterns for handling errors in a command
  • Add error handling to a command
  • Run a command and observe error handling behaviors

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

  • Two kinds of bugs
  • The ultimate goal of debugging
  • Developing assumptions
  • Write-Debug
  • Set-PSBreakpoint
  • The PowerShell ISE
  • Basic debugging
  • Describe the tools used for debugging in PowerShell
  • Debug a broken script

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

  • Parameter positions
  • Validation
  • Multiple parameter sets
  • Value from remaining arguments
  • Help messages
  • Aliases
  • More CmdletBinding
  • Describe the use of positional parameters
  • Describe additional parameter validation methods
  • Describe how to define multiple parameter sets
  • Describe other parameter definition options

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

  • External help
  • Using PlatyPs
  • Supporting online help
  • “About” topics
  • Making your help updatable
  • Writing full help
  • Describe the advantages of external help
  • Create external help using PlatyPS and Markdown

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

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


  • Unit testing your code
  • Describe the purpose of unit testing
  • Write basic unit tests for PowerShell functions

This module explains how to extend objects with additional capabilities.

  • Understanding types
  • The Extensible Type System
  • Extending an object
  • Using Update-TypeData
  • Describe the purpose of the ETS
  • Extend an existing object type

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

  • Performing a basic analysis
  • Analyzing the analysis
  • Analyzing your script
  • Describe the use of Script Analyzer
  • Perform a basic script analysis

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

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


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

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

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


  • Basic controllers
  • Describe the purpose of basic controller scripts
  • Write a simple controller script

This module explains how to create and use proxy functions.

  • A proxy example
  • Creating the proxy base
  • Modifying the proxy
  • Adding or removing parameters
  • Proxy functions
  • Describe the purpose of proxy functions
  • Create a simple proxy function

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

  • Simple: CliXML
  • Importing native XML
  • ConvertTo-XML
  • Creating native XML from scratch
  • Working with XML
  • Describe the use of XML within PowerShell
  • Use XML data within a PowerShell function

This module explains how to using JSON data in PowerShell.

  • Converting to JSON
  • Converting from JSON
  • Working with JSON data
  • Describe the use of JSON data within PowerShell
  • Use JSON data within a PowerShell function

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

  • SQL Server terminology and facts
  • Connecting to the server and database
  • Writing a query
  • Running a query
  • Invoke-SqlCmd
  • Thinking about tool design patterns
  • Describe the use of SQL Server from within PowerShell
  • Write and run SQL Server queries
  • Design tools that use SQL Server for data storage

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


  • Lab problem
  • Break down the problem
  • Do the design
  • Test the commands
  • Code the tool
  • Lab one
  • Lab two
  • Create PowerShell tools, using native design patterns, from business requirements.