PowerShell

Advanced

PowerShell is a cross-platform task automation and configuration management framework, consisting of a command-line shell and scripting language.

This competency area covers advanced topics such as CmdletBinding Attribute, Parameter Validation, Begin/Process/End blocks. These focus on the usage of Advanced Functions along with Advanced function parameters. Deciding the parameter validity using the Begin/Process/End block in combination with WhatIf, is one of the main focus areas of this competency area.

Key Competencies: 

  1. Advanced functions - Creating advanced functions with attributes such as CmdletBinding and Parameter, thus changing the behavior of a method.
  2. Function parameters - Using validation attributes in PowerShell to test the parameter values that a user submits with attributes like ValidateScript, ValidatePattern, ValidateRange, and ValidateSet.
  3. Advanced pipeline input - Taking Pipeline Input and using Begin/Process/End blocks to handle dynamic input use cases.
  4. WhatIf and Confirm support - Usage of switches like WhatIf and Confirm to control how a command runs and indicate exactly what a command will do before it affects data.
  5. Manifest module - Deploying Manifest modules to take care of pre-script dependencies and features like Unloading Modules.