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.
- Advanced functions - Creating advanced functions with attributes such as CmdletBinding and Parameter, thus changing the behavior of a method.
- Function parameters - Using validation attributes in PowerShell to test the parameter values that a user submits with attributes like ValidateScript, ValidatePattern, ValidateRange, and ValidateSet.
- Advanced pipeline input - Taking Pipeline Input and using Begin/Process/End blocks to handle dynamic input use cases.
- 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.
- Manifest module - Deploying Manifest modules to take care of pre-script dependencies and features like Unloading Modules.