Booking options
Price on Enquiry
Price on Enquiry
Delivered Online
5 days
All levels
Duration
5 Days
30 CPD hours
This course is intended for
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.
Overview
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
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.
Tool Design
Tools do one thing
Tools are flexible
Tools look native
Start with a Command
Why start with a command?
Discovery and experimentation
Build a Basic Function and Module
Start with a basic function
Create a script module
Check prerequisites
Run the new command
Adding CmdletBinding and Parameterizing
About CmdletBinding and common parameters
Accepting pipeline input
Mandatory-ness
Parameter validation
Parmeter aliases
Emitting Objects as Output
Assembling information
Constructing and emitting output
Quick tests
An Interlude: Changing Your Approach
Examining a script
Critiquing a script
Revising the script
Using Verbose, Warning, and Informational Output
Knowing the six channels
Adding verbose and warning output
Doing more with verbose output
Informational output
Comment-Based Help
Where to put your help
Getting started
Going further with comment-based help
Broken help
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
Basic Debugging
Two kinds of bugs
The ultimate goal of debugging
Developing assumptions
Write-Debug
Set-PSBreakpoint
The PowerShell ISE
Going Deeper with Parameters
Parameter positions
Validation
Multiple parameter sets
Value from remaining arguments
Help messages
Aliases
More CmdletBinding
Writing Full Help
External help
Using PlatyPs
Supporting online help
?About? topics
Making your help updatable
Unit Testing Your Code
Sketching out the test
Making something to test
Expanding the test
Going further with Pester
Extending Output Types
Understanding types
The Extensible Type System
Extending an object
Using Update-TypeData
Analyzing Your Script
Performing a basic analysis
Analyzing the analysis
Publishing Your Tools
Begin with a manifest
Publishing to PowerShell Gallery
Publishing to private repositories
Basic Controllers: Automation Scripts and Menus
Building a menu
Using UIChoice
Writing a process controller
Proxy Functions
A proxy example
Creating the proxy base
Modifying the proxy
Adding or removing parameters
Working with XML Data
Simple: CliXML
Importing native XML
ConvertTo-XML
Creating native XML from scratch
Working with JSON Data
Converting to JSON
Converting from JSON
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
Final Exam
Lab problem
Break down the problem
Do the design
Test the commands
Code the tool
Nexus Human, established over 20 years ago, stands as a pillar of excellence in the realm of IT and Business Skills Training and education in Ireland and the UK....